如何使用 JavaScript 统一随机化数据

问题描述 投票:0回答:2

我的项目中有一个文本文件,其中包含一些文本数据。使用下面的代码,当玩家单击按钮(称为“下一步”)时,我一次显示一行数据。

出于某种原因,我想做的是制作一个名为“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];
}
unity-game-engine random unityscript
2个回答
0
投票

您可以使用这样的函数

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];
}

0
投票

由于您已将文件拆分为数组,因此只需获取随机行号即可。

Math.rndRange = function ( min, max ){
    if( isNaN(min) || isNaN(max) ) return NaN;
    return Math.round(Math.random()*(max-min)+min);
}

也许可以做一个地板或其他东西来代替圆形。你想要的就是我们。

© www.soinside.com 2019 - 2024. All rights reserved.