高手讲解下AS3事件中target 及下面代码中e.target 的意思. 谢谢!
高手讲解下AS3事件中target及varcircleMC:MovieClip=MovieClip(e.target);中的e.target的意思..谢谢!代码下面new...
高手讲解下AS3事件中target 及
var circleMC:MovieClip = MovieClip(e.target);
中的e.target 的意思.. 谢谢! 代码下面 newCircle.addEventListener(Event.ENTER_FRAME, ZoomCircle);
function ZoomCircle(e:Event):void
{ var circleMC:MovieClip = MovieClip(e.target);
circleMC.scaleX += .05;
circleMC.scaleY += .05;
if (circleMC.scaleX < 2)
{ circleMC.alpha += .03;
} else { circleMC.alpha -= .03;
if (circleMC.alpha < .1)
{ circleMC.removeEventListener(Event.ENTER_FRAME, ZoomCircle);
}
} 展开
var circleMC:MovieClip = MovieClip(e.target);
中的e.target 的意思.. 谢谢! 代码下面 newCircle.addEventListener(Event.ENTER_FRAME, ZoomCircle);
function ZoomCircle(e:Event):void
{ var circleMC:MovieClip = MovieClip(e.target);
circleMC.scaleX += .05;
circleMC.scaleY += .05;
if (circleMC.scaleX < 2)
{ circleMC.alpha += .03;
} else { circleMC.alpha -= .03;
if (circleMC.alpha < .1)
{ circleMC.removeEventListener(Event.ENTER_FRAME, ZoomCircle);
}
} 展开
3个回答
2013-09-05
展开全部
e.target就是事件的目标,也就是注册这个事件的对象。 newCircle.addEventListener注册侦听事件,所以事件的目标就是newCircle
var circleMC:MovieClip = MovieClip(e.target)还可以写成var circleMC:MovieClip = e.target as MovieClip
实际上就是声明一个名称为circleMC的MovieClip对象,让它等于一个也是MovieClip类型的对象
MovieClip(e.target)相当于把e.target转化为MovieClip对象,跟把字符串“1”通过int("1")转化为数字类型一样
var circleMC:MovieClip = MovieClip(e.target)还可以写成var circleMC:MovieClip = e.target as MovieClip
实际上就是声明一个名称为circleMC的MovieClip对象,让它等于一个也是MovieClip类型的对象
MovieClip(e.target)相当于把e.target转化为MovieClip对象,跟把字符串“1”通过int("1")转化为数字类型一样
2013-09-05
展开全部
event.target是事件冒泡过程中传给侦听者的对象。不一定是target发送的,也可能是target的子元件。
由currentTarget作为dispatcher向上发送事件,一层一层发送,直到事件被截获,截获事件的元件的上一层,即最近的传给截获者的元件就是target.
但是ENTER_FRAME事件是不基于冒泡机制的,可以理解成系统会在每帧去遍历所有Sprite并发送事件。
这里遍历到newCircle并发现它注册了一个EF事件,这里的event.target就是它了。
由currentTarget作为dispatcher向上发送事件,一层一层发送,直到事件被截获,截获事件的元件的上一层,即最近的传给截获者的元件就是target.
但是ENTER_FRAME事件是不基于冒泡机制的,可以理解成系统会在每帧去遍历所有Sprite并发送事件。
这里遍历到newCircle并发现它注册了一个EF事件,这里的event.target就是它了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-05
展开全部
这里的 e.target 等同 newCircle 区别就是 比如你写成对象A.addEventListener(Event.ENTER_FRAME, ZoomCircle);对象B.addEventListener(Event.ENTER_FRAME, ZoomCircle); 即是说更改时,下面代码中的不用修改,如果你下面也是写成硬编码的话 那更改就大了 这也是事件机制提供给我们的便利,可以通过事件回调函数(事件处理函数的参数就是一个事件对象)访问到事件的发生对象
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询