尝试允许滚轮控制最终的 Flash 动画。我希望得到这个 AS3 片段的一些帮助



我正在使用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中以确保它不会走得太远。

最新更新