У меня есть текстовый файл в проекте с некоторыми текстовыми данными. Используя нижеприведенный код, я показываю свои данные по одной строке в то время, когда игрок нажимает на кнопку (называется NEXT).
По какой-то причине я хочу сделать кнопку "RANDOM". И когда игрок нажмет на это, появится случайная строка из текстового файла. Вот мой код JavaScript:
#pragma strict
import UnityEngine;
import UnityEngine.UI;
var textFile : TextAsset;
var dialogLines : String [];
var lineNumber : int;
var uiText : Text;
var canvas : Canvas;
function Start () {
if (textFile){
dialogLines = (textFile.text.Split("\n"[0]));
}
}
function Update () {
if(lineNumber <0){
lineNumber = 0;
}
var dialog : String = dialogLines[lineNumber];
uiText.text = dialog;
}
function Next () {
var randomLine = Math.floor((Math.random() * dialogLines.length) + 1); //1-10
//if dialogLines is not strictly typed, go ahead and use dialogLines.length instead of 10
return dialogLines[randomLine];
}
Вы можете использовать такую функцию
function randomLine() {
var randomLine = Math.floor((Math.random() * 10) + 1); //1-10
//if dialogLines is not strictly typed, go ahead and use dialogLines.length instead of 10
return dialogLines[randomLine];
}
Поскольку ваш файл разбит на массив, просто захватите случайный номер строки.
Math.rndRange = function ( min, max ){
if( isNaN(min) || isNaN(max) ) return NaN;
return Math.round(Math.random()*(max-min)+min);
}
Может быть, пол или что-то вместо раунда. Мы хотим.