在悬停时更改MC的alpha

时间:2011-04-11 05:11:02

标签: actionscript-3 mouseover movieclip

这看起来应该对我有用,但显然我做错了什么。我不知道究竟是什么,这显然是一个新手的错误,找到搜索谷歌的答案,所以帮助将不胜感激。

this.addEventListener(MouseEvent.MOUSE_OVER,function() {
        this.alpha=0
        })

在MC中,当鼠标悬停在MC上时,我希望它变得不可见。我把这个代码放在MC里而不是用它做一个实例的原因是因为这个MC会重复多次。使用trace()测试时,监听器确实有效。无论出于何种原因,alpha都没有。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

当你使用闭包时(使用内联的匿名函数),你会失去范围。 this不是您正在盘旋的对象。

你可以使用

解决这个问题
var me:DisplayObject = this;

然后(更正后的代码)

addEventListener(MouseEvent.MOUSE_OVER,function(event:MouseEvent):void {
    me.alpha=0
})

请注意,我还在侦听器中放置了一个事件:MouseEvent参数,否则你会遇到运行时错误(你不是已经得到了这些错误吗?)