2016-06-28 21 views
-1

ボタンを押すと、int変数iを増やそうとしています。しかし、それは動作していません。 iの値を操作する他の場所で他のコードが存在しないと仮定すると、Int変数が変更されない

var i:int = 0; 

DB_47_ENTER_ROOM105.addEventListener(MouseEvent.CLICK, DB_47_ENTER_ROOM105_Action); 

function DB_47_ENTER_ROOM105_Action(event:MouseEvent):void { 
    trace(i); 
    if (i == 0) { 
     gotoAndStop(49); 
     i = 1; 
    } 

    if (i == 1) { 
     gotoAndStop(50); 
    } 
} 
+1

もっと具体的にする必要があります。何が効いていないのですか?何が起こっているのですか、何が起こると思いますか?あなたのコードにはインクリメントはありません。ちょうど 'i'は' 0'で始まり、最初のクリックから永遠に '1'になります。 – BadFeelingAboutThis

+0

このコードはフレーム内にあり、クリックした後、もうiが存在しない別のフレームに直接移動します。 – BotMaster

+0

@BadFeelingAboutThisおっと、私は意味します。 「i」は「1」のままではなく、「0」に戻る。何らかの理由で 'i'が常に' 0'に戻るため、コードを実行してみてください。 – okay14

答えて

1

は、その後、あなたの問題は、このコードが属するフレームは、繰り返し取得されている可能性がある(例えばタイムラインがループしたり、あなたがこのフレームに戻ります。このフレームを実行すると、あなたのi varが理由で再作成されますたび:あなたは何ができるか

var i:int = 0; //if i already exists, this will just set it to 0. 

、値を代入されていません。

var i:int; //don't assign a value on the var declaration 

intのデフォルト値は0なので、これ以上の変更は必要ありません。

+0

ありがとう!それは私の問題を解決しました。 :D – okay14

関連する問題