2016-05-18 11 views
-3

私のコードには単語の配列があります。私が望んでいることは、配列からステージ上に1単語をランダムに表示することです。これはどのように達成可能ですか?AS3アレイからランダムな単語をステージに表示

+0

ステージ上に 'TextField'を作成し、' text'プロパティを使用してランダムな単語を埋めてください。シンプル。 – Vesper

答えて

0

これにはMath.random()を使用できます。

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

この関数は、動的に、ステージ上のテキストボックスの値を設定するために使用することができる場合、擬似乱数を返しN:

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( "Carrot"、 "Apple"、 "Grape"、 "Bannana"); 関数getRandomWord(myArray:Array):オブジェクト { var wordIndex:int = Math.floor(Math.random()* array.length)); 戻り値配列[wordIndex:int]; } myTextField_txt.text = getRandomWord(wordArray); – Wirlly

+0

関数内の変数名を変更していません。あなたが正しい配列を供給していないようです。それは 'myTextField_txt.text = getRandomWord(myArray);'でなければなりません。また、 'array.length'を' myArray.length'に、 'return array [wordIndex:int]'を '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キーを押してムービーをテストします。ステージの任意の場所をクリックします。

幸運を祈る!

関連する問題