显示实例与普通实例的区别:

打开flash面板,把图层一的名称改为"as"图层,单击as图层的第一
帧,打开动作面板,输入下列代码:
import flash.display.Sprite;
import flash.events.Event;
var sprite:Sprite =new Sprite();
sprite.addEventListener (Event.ADDED,addEnterFrame);
sprite.addEventListener (Event.REMOVED,removeEnterFrame);
//显示实例添加到显示列表时,触发enterFrame事件
function addEnterFrame(evt:Event):void
{
 trace("added");
 evt.target.addEventListener(Event.ENTER_FRAME ,enterFrame);
}
//显示实例从显示列表删除时,删除enterframe事件
function removeEnterFrame(evt:Event):void
{
 trace("removed");
 evt.target.removeEventListener(Event.ENTER_FRAME ,enterFrame);
}
//检测enterFrame事件的函数
function enterFrame(evt:Event):void
{
 trace("enterframe");
}
//注册单击事件,便于测试
stage.addEventListener (MouseEvent.CLICK,addRemove);
function addRemove(evt:Event):void
{
 //如果显示实例位于显示列表中
 if(evt.target.contains(sprite))
 {
  //从显示列表中删除显示实例
  evt.target.removeChild(sprite);
  //如果显示实例不在显示列表中
 }else
 {
  //添加显示实例到显示列表
  evt.target.addChild(sprite);
 }
}
显示实例与普通实例有相同的地方,它们都是通过new来创建,但也有不同的地方,显示实例
要通过addChild()方法才能显示出来,否则显示实例将游离在舞台之外,在处理显示实例的
事件时一定要注意这个区别。

posted on 2012-11-12 22:50  才美  阅读(159)  评论(0编辑  收藏  举报