如何使用 JavaScript 统一随机化数据
How to randomize data in unity using JavaScript
我在项目中有一个包含一些文本数据的文本文件。使用下面的代码,当玩家点击一个按钮(称为 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);
}
也许做地板之类的东西而不是圆形。 W.e你要。
我在项目中有一个包含一些文本数据的文本文件。使用下面的代码,当玩家点击一个按钮(称为 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);
}
也许做地板之类的东西而不是圆形。 W.e你要。