我有一个商务舱Spam
和相应的视图类SpamView
。
如何从[{1}}中增加MouseEvent
,以便SpamView
出来的MouseEvent
包含对Spam
SpamView
实例的引用class ViewContainer {
...
for each (spam in spams) {
addChild(new SpamView(spam));
...
function handleMouseMove(event:MouseEvent) {
if (event is SpamViewMouseEvent)
trace("The mouse is being moved over spam:", spam)
}
}
SpamView
1}}正在显示?
以下是我想要使用它的方法:
event.target
谢谢!
我认为不起作用的事情:
为每个SpamView
添加事件监听器:簿记(确保正确添加/删除它们)是一种痛苦。
使用MouseEvent
:事件的目标可能是SpamViewMouseEvent
的孩子(这不是很有用)
收听{{1}},创建新的{{1}},复制所有字段,然后发送:手动复制所有字段也很痛苦。
答案 0 :(得分:0)
解决这只小狗有多种方法。我会使用你的#2选项,但是构建一个实用程序函数,可以获取屏幕上的所有垃圾视图,并在循环遍历垃圾视图时执行一些操作。
var targ:DisplayObject = DisplayObject(event.target)
如果(targ是SpamView)//那么你就知道发生了什么。
if(loopedSpamView.contains(targ))//然后目标在spamViewContainer中,你应该很酷。
祝你好运, 杰里米