【问题标题】:Adobe Flash. Mouseover animation endless loopAdobe Flash。鼠标悬停动画无限循环
【发布时间】:2014-01-03 14:05:38
【问题描述】:

我在为网站制作按钮时遇到了一些问题。我创建了一个按钮和一个动画,然后将该动画作为 .swf 文件导入到按钮文件中。我使用了以下代码(btn 是按钮,mc 是影片剪辑):

btn.addEventListener(MouseEvent.MOUSE_OVER,btnF);
function btnF(e:MouseEvent):void
{
    mc.play();
}

您可以想象,当鼠标悬停在按钮上时,动画会播放,但不会停止...有什么解决方案吗?

详细信息:使用 Actionscript 3.0
是的,我在最后用 stop() 代码制作了影片剪辑......所以我不明白它为什么会循环。

【问题讨论】:

    标签: actionscript-3 flash animation button adobe


    【解决方案1】:

    这样做可能更简单:创建一个按钮,默认状态下有按钮的图形。在过度状态下,使用带有动画的影片剪辑。这应该可以在没有任何代码的情况下工作

    【讨论】:

    • "我创建了一个按钮和一个动画" 看起来按钮和动画是两个不同的对象。
    • 我的意思是......我创建了一个按钮和另一个动画......但它是正确的,而不是导入那个电影剪辑我应该在按钮动画“内部”完成它
    【解决方案2】:

    问题在于,如果鼠标悬停在“btn”显示对象上,MOUSE_OVER 事件将始终触发。所以 stop() 代码最后会起作用,但是播放会覆盖该命令。

    这是一个可能的解决方案:

    btn.addEventListener(MouseEvent.MOUSE_OVER, btnF);
    function btnF(e:MouseEvent):void{
    {
         if(mc.currentFrame == 1)
         {
              mc.play();
         }
    }
    

    【讨论】:

      【解决方案3】:
      //i called the instance of the button : buthead and the instance of the movie clip : head_mc
      //on the first frame of the movie clip, i've put a stop function
      
      buthead.addEventListener(MouseEvent.MOUSE_OVER, function(event:MouseEvent):void {
          head_mc.play();
      });
      

      【讨论】:

      • 您能否在答案中添加更多详细信息?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-17
      • 2011-12-12
      • 2021-11-13
      相关资源
      最近更新 更多