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