Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 仅将子对象添加到当前帧_Flash_Actionscript 3 - Fatal编程技术网

Flash 仅将子对象添加到当前帧

Flash 仅将子对象添加到当前帧,flash,actionscript-3,Flash,Actionscript 3,是否可以仅向当前帧添加子帧 我知道您可以删除/隐藏它们,然后再次生成/显示它们 但难道没有更简单的方法吗 package { import flash.display.MovieClip; public class MyChild extends MovieClip { // Values private var _containingFrame:int = 1; /** * ...

是否可以仅向当前帧添加子帧

我知道您可以删除/隐藏它们,然后再次生成/显示它们

但难道没有更简单的方法吗

package
{
    import flash.display.MovieClip;

    public class MyChild extends MovieClip
    {
        // Values
        private var _containingFrame:int = 1;

        /**
         * ...
         * @param e Event.ENTER_FRAME
         */
        private function _check(e:Event):void
        {
            if(parent)
            {
                if(parent.currentFrame != containingFrame)
                {
                    removeEventListener(Event.ENTER_FRAME, _check);
                    parent.removeChild(this);
                }
            }
        }

        /**
         * Getters & Setters
         */
        public function get containingFrame():int{ return _containingFrame; }
        public function set containingFrame(n:int):void
        {
            _containingFrame = n;
            addEventListener(Event.ENTER_FRAME, _check);
        }
    }
}
让这成为你孩子的基础课程。现在,当您添加子级(通过ActionScript或拖到舞台上并指定实例名称)时,您只需执行以下操作:

myChild.containingFrame = currentFrame;
我不相信有更简单的方法。

传统的方法:

如果你有一个时间表,你可以添加一个MovieClip作为一个支架,只在那个框架上。支架夹仅存在于该框架上。到达该帧后,使用以下代码将真实剪辑添加到支架显示列表:

holder.addChild(新的特殊夹具())


这样,当您更改到另一帧时,它将被删除。但是,下次到达帧时需要重新创建它

我认为有一个缺陷,如果代码循环呢?输入帧事件侦听器可能已被删除。@gladoscc不确定您的意思。当父movieclip循环回containingFrame时,MyChild将不会再次显示。如果代码etc在timeline上,则MyChild仍将被重新添加?哦,是的,timeline,正在考虑actionscript