我的项目中有一个文本文件,其中包含一些文本数据。使用下面的代码,当玩家单击按钮(称为“下一步”)时,我一次显示一行数据。
出于某种原因,我想做的是制作一个名为“RANDOM”的按钮。当玩家点击时,将显示文本文件中的随机行。
这是我的 UnityScript 代码:
#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);
}
也许可以做一个地板或其他东西来代替圆形。你想要的就是我们。