2013-09-26 28 views
0

我一直在阅读,你无法将一个动画片段嵌套在按钮中,但我有一个带有脉冲效果的按钮。AS3:发布按钮内的动画片段

我遇到的问题是它不适用于我创建的另一个按钮。我只是想创造一种闪烁的效果,但它没有读取它。

我见过关于如何将动画片段制作为按钮的教程,但它不起作用。

任何帮助,将不胜感激。

谢谢!

+0

您的问题含糊不清,因为您不会发布错误或确切无法正常工作。你得到一个编译错误?你得到一个运行时错误?按钮事件不会触发?这很可能是您的MovieClip吞噬您希望Button处理的鼠标事件的一个问题。 – prototypical

回答

0

你知道有趣的是,这件事发生在我身上。我创建了一个带有影片剪辑的按钮,它工作得很好,然后下一次我试图做到这一点,我无法让它工作。我认为,作为一般的经验法则,您不应该期望在按钮内嵌入影片剪辑。我不记得第一次做了什么,但我认为这与扩展影片剪辑类而不是扩展简单按钮有关。

问题当然是如果你创建一个类型按钮的符号,它不会让你扩展影片剪辑。无论如何,有些东西可以轻松解决您的问题。

我现在所做的是您想要的任何影片剪辑,单独创建它,使用代码将其放置在按钮顶部,然后应用以下代码。

mouseEnabled = false; 
yourMovieclip.mouseEnabled = false; 
yourMovieclip.mouseChildren = false; 

这样你的按钮就可以正常工作(即,你的动画片段不会阻止你的按钮的鼠标检测)。希望有所帮助!

0

为什么不只是创建一个MovieClip并为它提供一些事件监听器,用于翻转和滚动,告诉它在其时间轴上的某个点上动画?您不需要使用按钮的按钮符号。我甚至想不起我最后一次。

0

该SimpleButton类型可以得到finicky。 SimpleButtons非常简单,并不像MovieClip那样复杂,并且当您将MC嵌入到Button中时,结果并非总是如预期的那样,并且看似随机。这将会是更痛苦的创建一个影片剪辑,并给它的第一帧上的事件监听器,例如:

stop(); 
this.addEventListener(MouseEvent.ROLL_OVER, hoverState); 
this.addEventListener(MouseEvent.ROLL_OUT, normalState); 

function hoverState(event:MouseEvent):void 
{ 
    gotoAndStop(2); 
} 
function normalState(event:MouseEvent):void 
{ 
    gotoAndStop(1); 
} 

然后,只需有你想要的帧1和2的任何影片剪辑是你正常悬停状态,分别。这样,您只需将MovieClip嵌套在MovieClip中,而不是嵌套在SimpleButton中。

相关问题