3

我正在创建一个照片编辑器应用程序,在某些时候,您编辑的照片应该放在两层 DisplayObjects(背景图像和图像蒙版)之间。

但是,有一个问题。当您正在编辑的图像被放在背景和图像蒙版层之间时,它变得无法点击,因此卡在那里,没有机会再次拖动它。(照片编辑器使用 TransformManager 库。)

我正在寻找一种方法来允许您选择您正在编辑的图像,无论它上面是否有另一个 DisplayObject。这可能意味着找到某种方法来点击图像蒙版。

有没有办法做到这一点?

我尝试在 imageMask 上设置 mouseChildren = false,但这并没有达到预期的效果。

非常感谢。

4

7 回答 7

11

我有类似的问题,我设法通过使用两者来解决它

 displayobject.mouseChildren = false;  

displayobject.mouseEnabled = false;  

在要单击的对象上。

于 2011-06-26T20:35:58.153 回答
9

这个怎么样?

mask.mouseEnabled = false;

于 2009-09-04T06:46:08.140 回答
2

您始终可以将鼠标单击侦听器附加到容器,然后使用 GetObjectsUnderPoint 并检查您的对象或进行命中测试并查看鼠标位置是否在您的预期对象上方。

命中测试看起来像这样!this.YourPhoto.hitTestPoint(stage.mouseX, stage.mouseY, false)

b

于 2009-09-02T00:25:48.510 回答
1

如果我理解你的问题,这个方便的课程应该可以解决它: http ://www.mosessupposes.com/utilities/InteractivePNG.html

于 2010-05-12T15:18:38.927 回答
0

我想我偶然发现了类似的问题,尽管在 as2.

在 Flash 中,当您将影片剪辑放置在影片剪辑上并且顶部的影片剪辑实现了任何鼠标事件时,它会捕获所有鼠标事件,因此它们永远不会到达被遮挡的影片剪辑。

解决方案是不为顶部影片剪辑设置任何鼠标事件,并将影片剪辑定位在底部捕获鼠标事件并将其中一些重定向到顶部影片剪辑(您可以使用 hitTest 检查鼠标位置以确定它们是否应该重定向)。

于 2009-09-01T23:28:28.620 回答
0

看看这里senocular 做了什么,特别是在 handleUpdate 方法中。基本上:获取 mousePoint 下所有内容的列表以找到您的对象。

于 2009-09-02T00:45:58.073 回答
0

我使用了一个奇怪的错误;

movieClip.mouseEnabled = false;

但由于某种原因没有工作..让我发疯了!因为我以前用过很多次。尝试了很多不同的东西都没有奏效,然后我删除了 MovieClip 并创建了一个新的并工作了.. 所以 MovieClip 的内容一定是损坏的,或者因为它在 MovieClip 中嵌入了一个旧的动态文本区域框。

希望这可以帮助那里的人..

于 2014-12-02T15:09:42.937 回答