actionscript-3 - ActionScript 3.0 : Having a weird issue with a click target

标签 actionscript-3 mouseevent parent target

所以我在容器影片剪辑中生成了 65 个影片剪辑。 (它位于一个容器中,因为它位于游戏中并且位于弹出窗口中。)MovieClip 是通过访问库中 AS3 链接的 MovieClip 创建的。每个都存储在 MovieClip 数组中。从那里,我将一些文本信息(包括一些隐藏文本)放入每个信息中,并添加一些事件监听器。除了一件事之外,代码本身工作得很好。事件监听器接收目标作为 MovieClip 内的文本字段之一,而不是 MovieClip 本身。我绝对确定鼠标事件监听器已应用于影片剪辑。

for (var i:int = 0; i < mcArray.length; i++)
{
    mcArray[i] = new IDButton();
    MovieClip(mcArray[i]).tf1.text = String(ID1[i])
    MovieClip(mcArray[i]).tf2.text = String(ID2[i]);
    MovieClip(mcArray[i]).tf3.text = String(ID3[i]);
    MovieClip(mcArray[i]).tf1.selectable = false;
    MovieClip(mcArray[i]).tf2.selectable = false;
    MovieClip(mcArray[i]).tf3.selectable = false;
    MovieClip(mcArray[i]).tf1.visible = false;
    MovieClip(mcArray[i]).tf2.visible = false;
    MovieClip(mcArray[i]).name = "MC" + String(i);
    container.addChild(MovieClip(mcArray[i]));
    MovieClip(mcArray[i]).addEventListener(MouseEvent.CLICK, mcClickHandler);
    MovieClip(mcArray[i]).addEventListener(MouseEvent.ROLL_OVER, mcHoverHandler);
    MovieClip(mcArray[i]).addEventListener(MouseEvent.ROLL_OUT, mcOffHandler);
    MovieClip(mcArray[i]).x = 0;
    MovieClip(mcArray[i]).y = MovieClip(mcArray[i]).height * i;
}

(说实话,我不知道那里有 MovieClip 是否多余。我想这表明我对 Flash 普遍缺乏信任。)

为了测试,我在 mcClickHandler 函数中跟踪了目标名称,它一直返回“tf3”。

最佳答案

AS3 中的事件有两个“目标”属性:targetcurrentTarget。如果其中一个不起作用,另一个通常会起作用。

基本上,target 是鼠标单击的实际对象,currentTarget 是附加了监听器的对象。

此问题中的更多信息:Difference between e.target and e.currentTarget

关于actionscript-3 - ActionScript 3.0 : Having a weird issue with a click target,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10991435/

相关文章:

javascript - 如何让鼠标右键纯死?

python - 如何检查两个 python pathlib.Path 是否具有相同的父项?

jquery - 将多个事件绑定(bind)到同一个函数

javascript - 按钮传递 Onclick 事件

apache-flex - 注册监听器时,什么使本地作用域的对象保持事件状态?

actionscript-3 - AS3 - 将图像保存为静态 GIF

javascript - 使用 javascript 链接所有 li 或 img 标签

MYSQL父关系

apache-flex - 闪存媒体服务器 : Trouble with recording 2 audio/video streams at the same time?

flash - 我可以重新使用 Actionscript 3 NetConnection 吗?