如何在所有帧上应用条件?

时间:2016-11-08 12:52:01

标签: actionscript-3 flash

我想在adobe flash cs 6的所有帧上应用这个条件:

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

但我不想逐帧复制它。我不能做什么?

3 个答案:

答案 0 :(得分: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();

答案 1 :(得分:1)

我同意@payamsbr,但这更短......

    _condition = function():void {
        pauseMusic.visible = !pauseMusic.visible;
    }

所以你可以避免if ... else ...检查。 初始布尔值应定义为

  

是或否

所以你所要做的就是打电话

_condition();

[编辑]

对于uint 1 - > -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 ......

[/编辑]

但你想检查这个功能是否存在,如他所说。

答案 2 :(得分: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;
        }
    }