2016-05-18 1 views
-3

У меня есть массив слов в моем коде. То, что я надеюсь сделать, - это случайное отображение одного слова из массива на сцену. Как это достижимо?AS3 Показать случайное слово из массива на этап

+0

Создайте «TextField» на сцене и используйте свойство «text», чтобы заполнить свое случайное слово. Просто. – Vesper

ответ

0

Для этого вы можете использовать Math.random().

Возвращает псевдослучайное число п, где 0 = п < < 1.

function getRandomWord(array:Array):String 
{ 
    var wordIndex:int=Math.floor(Math.random() * array.length); 
    return array[wordIndex:int]; 
} 

Эта функция может быть использована для динамического установить значение текстового поля на сцене:

myTextField_txt.text = getRandomWord(wordArray); 

Вы можете прочитать больше о Math.Random() здесь в документации: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Math.html#random()

+0

Я получаю и ошибки 1086 и 1084 при добавлении этого – Wirlly

+0

Это то, что у меня есть var myArray: Array = new Array («Морковка», «Яблоко», «Виноград», «Баннана»); function getRandomWord (myArray: Array): Object { var wordIndex: int = Math.floor (Math.random() * array.length)); return array [wordIndex: int]; } myTextField_txt.text = getRandomWord (wordArray); – Wirlly

+0

Вы не изменили имена переменных в функции, соответствующие вашим. Кажется, что вы не кормите правильный массив, это должно быть 'myTextField_txt.text = getRandomWord (myArray);'. Вам также необходимо изменить на 'array.length' на' myArray.length' и 'return array [wordIndex: int]' to 'return myArray [wordIndex: int];'. Ваши переменные несовместимы. Как раз примечание, возвращаемый тип функции, вероятно, должен быть изменен с 'Object' на' String'. – Smittey

0
var myWords: Array = ["DOG", "CAT", "RABBIT", "HORSE", "COW"] 
var randomNumber: int = (Math.Random() * myWords.length); 

stage.addEventListener(MouseEvent.CLICK, getRandom); 

function getRandom(e: MouseEvent) { 
    myTextField.text = myWords[randomNumber].toString(); 
    randomNumber = (Math.Random() * myWords.length); 
} 

Вам понадобится динамическое текстовое поле с именем экземпляра «myTextField». Кроме того, в свойствах текстового поля встроить шрифт, чтобы он не вызывал никаких проблем. Затем добавьте этот код в рамку. Ctrl + Enter, чтобы проверить фильм. Затем нажмите в любом месте сцены.

Удачи вам!

Смежные вопросы