新建一个fla文件,在舞台上面绘制一个形状,然后在主类的构造函数添加MOUSE_OVER事件。 测试发现:鼠标移到形状之上并不会触发该事件。但是新建一个影片剪辑,在里面绘制形状并添加MOUSE_OVER事件侦听器,却能够触发!
结论:swf不能完全当做影片剪辑处理。
一个contain有shape的sprite可以可以触发MouseEvent, 但是一个contain有shape的swf却不行!
shape本身是不会触发MouseEvent的,但是被添加到sprite中,sprite就能触发了。
一般我们的理解方式是:一个空的sprite(不包含任何内容的sprite)是不会触发MouseEvent,添加了一个InteractiveObject, 因为InteractiveObject它会触发MouseEvent,所以sprite也会跟着触发,但是添加一个不能触发MouseEvent的shape后,sprite可以跟鼠标交互。这一点儿不同常理,adobe在这一点儿上应该有特殊的机制。