如何在翻转时展开动画片段,然后在部署时缩小到正常状态?

时间:2012-01-25 04:16:27

标签: actionscript-2

我有代码在鼠标悬停时增加我的movieClip,然后在鼠标移出时缩小。据我所知,我的代码是正确的。我认为问题在于,当我的光标靠近动画片段的边缘时,鼠标悬停和鼠标移出事件会一个接一个地快速触发,导致增长/缩小效果产生卡顿效果。

我已经尝试将鼠标延迟出去,让鼠标有机会使影片剪辑超过鼠标的鼠标检测...但如果用户在屏幕上滑动光标,则各种影片剪辑通常会保持较大,因为鼠标在重新建立鼠标输出事件之前离开了动画片段。

我是不是错了?这是我的代码:

import mx.transitions.Tween; 
import mx.transitions.easing.*; 

stop();

fillClipArray();

function fillClipArray() 
{
    for (var prop in this) 
    {
        if (this[prop] instanceof MovieClip) 
        {
            var mc:MovieClip = this[prop];
            mc.onRollOver = function(){clipOver(this)};
            mc.onRollOut = function(){clipOut(this)};
        }
    }
}




function clipOver(clip:MovieClip)
{   
    var xScaleX:Tween = new Tween(clip, "_xscale", Strong.easeOut, clip._xscale, 125, 0.5, true); 
    var xScaleY:Tween = new Tween(clip, "_yscale", Strong.easeOut, clip._yscale, 125, 0.5, true);
}

function clipOut(clip:MovieClip)
{   
    var xScaleX:Tween = new Tween(clip, "_xscale", Strong.easeOut, clip._xscale, 85, 0.5, true); 
    var xScaleY:Tween = new Tween(clip, "_yscale", Strong.easeOut, clip._yscale, 85, 0.5, true);
}

1 个答案:

答案 0 :(得分:1)

分开按钮,使图形资源不用于鼠标事件。

  1. 添加一个与您的按钮的初始大小大致匹配的形状的MovieClip
  2. 将其alpha设置为0
  3. 为其指定实例名称,例如“hotspot”
  4. 将鼠标事件附加到该事件而不是整个按钮
  5. 热点不会改变大小,避免出现问题。