私はActionscript 2のために書かれたチュートリアルに従っていますが、それをAS 3に変換することに成功しました。キャラクターの動きにいくつかのランダム性を加えることを意図しているActionscript 3の乱数3
if (_currentframe==1) {
// randomly choose whether or not to play
if (random(100)>97) {
// should we tease or popup?
if (random(3)<1) {
this.gotoAndPlay ("popup");
} else {
this.gotoAndPlay (1);
}
}
}
:
ここでチュートリアル(http://www.cleverpig.com/tutorials/whackapig/whack.htmステップ8)は、次のコードを持っています。私はAS 3でこのコードを作成しました。
if (currentFrame==1) {
// randomly choose whether or not to play
if(Math.floor(Math.random()*99)-97) {
// should we tease or popup?
if (Math.floor(Math.random() *3)-1)
) {
this.gotoAndPlay ("popup");
} else {
this.gotoAndPlay (1);
}
}
}
このコードでプログラムを実行すると、キャラクターのアニメーション全体が1回(下、中上、上、下)再生されます。最初の3つのフレームだけを再生し、これを繰り返すことになっています。
EDIT:
function random (n:int) : int {
return Math.floor (Math.random() * n);
}
if (currentFrame==1) {
// randomly choose whether or not to play
if(random(100)): 97 {
// should we tease or popup?
if (random(3)): 1
{
this.gotoAndPlay ("popup");
} else {
this.gotoAndPlay (1);
}
}
}
シンボル '穴'、レイヤ 'ActionScriptの'、フレーム1、1084 10行目:構文エラー:コロンの前に識別子を期待。 シンボル 'hole'、レイヤ 'Actionscript'、フレーム1、行10 1008:属性が無効です。 シンボル 'hole'、レイヤ 'Actionscript'、フレーム1、ライン12 1084:構文エラー:コロンの前に識別子が必要です。 シンボル 'hole'、レイヤ 'Actionscript'、フレーム1、行13 1008:属性が無効です。 シンボル 'hole'、レイヤ 'Actionscript'、フレーム1、ライン15 1083:構文エラー:elseは予期しないものです。
感謝のエリック、その説明は物事をクリアするのに役立ちました。 :) – RapsFan1981
それはそれでした!私はちょうど変更を加えて、今は素晴らしい仕事をしています。元のコードの欠陥を指摘し、この代替案を提示する時間をとってくれてありがとう、ありがとう。 – RapsFan1981
@ Eric-Paul:あなたは間違っています:元のチュートリアルでは、乱数が* 97より大きい場合、最初の条件はtrueと評価されます。したがって、100回のうち2回で真となります。それを意図していた。 – weltraumpirat