Actionscript 3 更改悬停时MC的alpha

Actionscript 3 更改悬停时MC的alpha,actionscript-3,mouseover,movieclip,Actionscript 3,Mouseover,Movieclip,这看起来对我来说应该有用,但很明显我做错了什么。我不知道到底是什么,这显然是一个新手在谷歌搜索答案时犯的错误,所以我们将不胜感激 this.addEventListener(MouseEvent.MOUSE_OVER,function() { this.alpha=0 }) 在MC中,我希望当鼠标悬停在它上面时,它变得不可见。我之所以把这段代码放在MC中,而不是从中生成一个实例,是因为这个MC会重复出现很多次。侦听器确实可以工作,正如跟踪测试的那样。不管出于什么

这看起来对我来说应该有用,但很明显我做错了什么。我不知道到底是什么,这显然是一个新手在谷歌搜索答案时犯的错误,所以我们将不胜感激

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

在MC中,我希望当鼠标悬停在它上面时,它变得不可见。我之所以把这段代码放在MC中,而不是从中生成一个实例,是因为这个MC会重复出现很多次。侦听器确实可以工作,正如跟踪测试的那样。不管出于什么原因,阿尔法没有。谢谢您的帮助。

当您使用闭包时,因为您使用的是匿名函数内联,所以您失去了作用域。这不是您悬停的对象

你可以使用

var me:DisplayObject = this;
然后更正代码

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

请注意,我还将event:MouseEvent参数放在侦听器中,因为否则您会得到运行时错误。您不是已经得到了这些错误吗?

不工作对于任何问题来说都是糟糕的描述。它总是需要澄清——无论是没有效果,还是逐步淘汰目标剪辑以外的内容,还是其他内容。它怎么不起作用?显然,回答问题的人理解这个问题。如果你对这个问题有足够的了解来回答,你就会知道这不会影响其他事情。相反,在这种情况下,它会用代码影响MC,或者什么都不影响。我只会在事件中使用外部函数时收到事件错误。正如你所说的,闭包永远不会给我错误。我也想知道为什么,但这对我来说很有效。我想这是CS4的事。还感谢你澄清了为什么它不起作用的原因。