2016-11-08 4 views
0

私には、Adobe Flash CS 6のすべてのフレームにこの条件を適用する:どのようにすべてのフレームに条件を適用するのですか?

if(pauseMusic.visible==true) { 
    playMusic.visible=false; 
} else if(pauseMusic.visible==false) { 
    playMusic.visible=true; 
} 

しかし、私はそれをフレームアクションの一つ一つをコピーする必要はありません。私は何ができませんか?

+0

をムービークリップとしてそれを作り、これが答えではないですが、ブールのためにあなたが他の...あれば避けることができる1つのフレーム – Jeffin

+0

に貼り付け...試してみてください playMusic.visible =! playMusic.visible;これは短く短くなっています... – tatactic

+0

私が作ったこの愚かな編集を拒否するために多くをありがとう。 あなたは誰かわからないが、質問を編集するのは大きな間違いだった! よろしくお願いいたします。 Nicolas。 – tatactic

答えて

1

私は、最初のフレームでこの機能を使用:

stage.addEventListener(Event.ENTER_FRAME, onFrameEnter); 
    function onFrameEnter(Event):void 
    { 
     if(pauseMusic.visible==true) 
     { 
      playMusic.visible=false; 
     } 
     else if(pauseMusic.visible==false) 
     { 
      playMusic.visible=true; 
     } 
    } 
+0

pauseMusic.visible =!pauseMusic.visible; これは短く、if ... else(あまりにも長く、役に立たない)を避けます。 AMO – tatactic

1

! 、あなたのタイムラインで複数のフレームを持っている場合、最初のフレームでそれを挿入し、あなたの最初のフレーム で関数を作成:

if(this._condition == null) { 
    this._condition = function():void { 
    if(pauseMusic.visible==true) { 
     playMusic.visible=false; 
    } else if(pauseMusic.visible==false) { 
     playMusic.visible=true; 
    } 
    } 
} 

と単に他のフレームでそれを呼び出す: this._condition();

+0

ありがとうございますが、前のフレームに戻ってボタンが表示されていないときにこの機能を使用してください... – user7131682

1

私は同意します@payamsbrと一緒ですが、これはもっと短くなります...

if ... else ... checkを避けることができます。 初期ブールだからあなたがしなければならないすべては

_condition(); 

を呼び出すことです

真または偽

に定義されるべきである[EDIT]

ORの場合uint 1 - > - 1または-1〜1:

var i:uint=1 
function changeUint():void{ 
    i = *=-1 
} 

changeUint(); 

-> 1 to -1 or -1 to 1 

-1に1または-1に1 ...

[/ EDIT]

しかし、あなたは彼が言ったように関数が存在するかどうかを確認します。

+0

ありがとうございます、はい、私はちょうど彼の元のコードを編集しました –

関連する問題