0

我使一个全局变量等于一个movieclip

一个函数使用 if 语句运行,检查 [x] 电影剪辑是否存在,如果它不添加它。尽管 MovieClip 在舞台上,但它继续使用 if 语句。

文档类

public static var skinHolder:MovieClip = new test;

单独的类(函数每帧运行)

    function animHandler():void
    {
        if (! Game.skinHolder.stage)
        {
            // if its not on the stage we add it to the stage
            addChild(Game.skinHolder);
        }

    }
4

2 回答 2

0

添加影片剪辑后不会立即设置舞台,通常会发生在下一帧。

但是,检查对象是否存在是一种奇怪的方法,您应该执行以下操作:

private var mySkinHolder:MovieClip;

if (!mySkinHolder)
{
    // if it not exist we add it to the stage
    mySkinHolder = addChild(new test());
}
于 2017-03-30T22:09:50.193 回答
0

我不完全了解您的结构,但是要检查 DisplayObjectContainer (在您的情况下为 MovieClip)是否具有特定的子项,您可以使用 contains() 方法。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/DisplayObjectContainer.html#contains()

if (!contains(Game.skinHolder)) {
    addChild(Game.skinHolder);
}
于 2017-03-31T02:56:31.150 回答