是否可以仅将子项添加到当前帧?
我知道您可以删除/隐藏它们,然后再次生成/显示它们。
但这不是一种更简单的方法吗?
答案 0 :(得分:2)
老派方式:
如果您有时间轴,则只能在该帧上添加MovieClip作为持有者。固定夹仅存在于该框架上。到达该帧后,使用代码
将实际剪辑添加到持有者显示列表中 holder.addChild(new special_clip())
这样当你换到另一帧时它就会被移除。但是,下次到达框架时需要重新创建它。
答案 1 :(得分: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;
我不相信有更简单的方法。