从另一个动画片段

时间:2015-11-21 14:48:08

标签: flash actionscript-2

嘿,我想使用一个可变的两个不同的MovieClip。

我有一个带有此代码的MovieClip(mainGame)

onClipEvent(load)
{
    var light:Boolean;
    light = true;
    trace("Game Loaded");

}

on(keyPress "x")
{
    if(light == false)
    {
        light = true;
        trace("light is on");
    }
    else if(light == true)
    {
        light = false;
        trace("light is off");
    }
}

此代码切换布尔值。

现在我有另一个MovieClip(敌人),我想在其中访问布尔值" light"然后根据布尔值使这个MovieClip(敌人)可见或不可见。

onClipEvent(enterFrame)
{
    if(light == true)
    {
        this._visible = false;
    }
    else if(light == false);
    {
        this._visible = true;
    }
} 

谢谢你的帮助, 若昂席尔瓦

1 个答案:

答案 0 :(得分:0)

要从您的light访问mainGame MovieClip的enemy变量,您可以执行以下操作:

_root.mainGame.light

所以你的代码可以是这样的,例如:

// mainGame

onClipEvent(load)
{
    var light:Boolean = true;
    trace('Game Loaded');
}

on(keyPress 'x')
{
    // here we use the NOT (!) operator to inverse the value
    light = ! light;

    // here we use the conditional operator (?:)
    trace('light is ' + (light ? 'on' : 'off'));
}

// enemy

onClipEvent(enterFrame)
{   
     this._visible = ! _root.mainGame.light;
} 

您也可以使用mainGame MovieClip:

// mainGame

on(keyPress 'x')
{
    light = ! light;

    _root.enemy._visible = ! light;

    trace('light is ' + (light ? 'on' : 'off'));
}

有关NOT (!) operator的更多信息,请查看here,以及conditional operator (?:)中的here

在您学习的过程中,您可以开始learning ActionScript3 here ...

希望可以提供帮助。