我有一个外部SWF,我加载到一个加载程序对象。堆叠的对象,这两个对象都与鼠标
我将此Loader对象作为子对象添加到MovieClip并将此MovieClip添加到我的舞台。
我现在想绘制一个透明的矩形Sprite在Loader对象的顶部上,这只需要捕获鼠标事件。
(我需要知道什么时候鼠标滚过并滚出透明层)。
。
如果你问自己 - 为什么我需要这个透明层,而不是仅仅抓住Loader本身的事件?好吧,这有很多原因,其中大部分都与客户端请求有关,但也是 - 因为某些外部加载的SWF出于某种原因不响应鼠标事件 - 所以我需要“欺骗”它并在顶部添加我自己的透明图层。
我的问题是 - 如果我把透明层作为保持装载机的MovieClip子,然后我得到这个hirarchy:
问题是 - 鼠标事件是由顶抓大多数图层(透明图层)并传递到MovieClip和舞台。 事件不会在Loader对象中触发,因此 - SWF变为非交互式。
。
另一种解决方案将是 -
以某种方式添加所述透明层作为Loader对象的子级,这样的:
那么事件将被鼓泡到装载机和SWF 。 问题是 - Loader类不允许你添加子元素(除了加载的SWF)。
所以任何人都可以提供建议,我可以如何在SWF上添加一个透明图层,并且仍然有鼠标与透明图层和SWF图层的交互?
请描述如何构建或组成透明层,它有一个洞还是用alpha值填充0值? – fenixkim
将您的事件捕获到您放置加载的SWF的“MovieClip”。我看不到透明层的任何需要。 – Gio
@fenixkim - 透明图层是一个用alpha值填充0的矩形。 –