Как рандомизировать данные в единство с помощью JavaScript

1

У меня есть текстовый файл в проекте с некоторыми текстовыми данными. Используя нижеприведенный код, я показываю свои данные по одной строке в то время, когда игрок нажимает на кнопку (называется 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];
  }
Теги:
unityscript
random

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
    Спасибо, парни. Я скоро сообщу вам результат :)
  • 0
    Он говорит [Неизвестный идентификатор: "Math"]
Показать ещё 8 комментариев
0

Поскольку ваш файл разбит на массив, просто захватите случайный номер строки.

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

Может быть, пол или что-то вместо раунда. Мы хотим.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню