我正在使用Flash CC并尝试让滚轮控制动画播放的方向和速度。这是我到目前为止所拥有的:
function handleMouseWheel(event:MouseEvent):void {
trace("The delta value is: " + event.delta);
var frame:int = (currentFrame + event.delta);
gotoAndStop(frame);
}
stage.addEventListener(MouseEvent.MOUSE_WHEEL, handleMouseWheel);
我不太怎么使用Flash,有人告诉我需要通过"属性"面板为舞台上的对象分配名称"clip_mc",但我不确定这意味着什么。(特别是因为这段代码会影响整个文件,而不仅仅是单个对象)
虽然我没有收到任何错误,但我的动画只是正常播放,不受滚轮的影响。
感谢您的帮助!
最好创建一个包含动画的影片剪辑然后将该 Moviclip 拖到舞台上为其指定一个实例名称,如 myAnim(在选择影片剪辑时位于 Flash 属性面板的右上角)
然后在代码类型中 myAnim.stop();以确保当您启动时SWF动画将暂停,这就是为什么您的动画一直默认播放的原因
然后添加事件侦听器stage.addEventListener(MouseEvent.MOUSE_WHEEL, handleMouseWheel);
然后在手柄鼠标滚轮中,您可以引用影片剪辑并像控制它一样myAnim.gotoAndStop(frame);
希望这有帮助
从handlemousewheel()
内部删除添加事件侦听器,以及您说currentFrame
引用主时间轴的当前帧而不是myAnim
的位置。要做到这一点,你必须说myAnim.currentframe = event.delta
.
您需要确保event.delta
与您拥有的帧相对应,并且您可能希望将其封装在math.clamp
中以确保它不会走得太远。