没有做实验,简单说一下我的看法
楼主你用来设置影片播放时间的这一句:
sprite(1).movietime=((sprite(3).loch-sprite(2).loch)/sprite(2).width)*sprite(1).duration
不应该放在第10帧的帧脚本里吧,因为设置影片当前进度的功能,应该是在滑块被拖动时触发,也就是你原先所写的:
repeat while the mouseDown
sprite(me.spritenum).loc=the mouseloc
updatestage
end repeat
在这个循环里设置影片播放时间,应该才是想到达到的效果,你试试?
另外,这种使用 while true 方式实现的滑块拖动,几乎相当于死循环,在实际运行时,一个拖动滑块的操作很可能让 CPU 跑到 100% 占用率,不是很理想。
我习惯的做法是借助滑块的 onExitFrame 事件,先用一个变量记录当前滑块是被拖动的状态还是非拖动状态,onMouseDown 和 onMouseUp 以及 onMouseUpOutside 时更改这个状态,每次 onExitFrame 时根据该状态决定是让滑块移动到影片当前进度位置,还是让滑块跟随鼠标位置移动,同时影响影片的播放进度。
而且如果在 onMouseDown 和 onMouseUp 及 onMouseUpOutside 事件时,分别将影片暂停和恢复播放,最终运行效果可以更加流畅,也减少了在慢速媒体如 CD-ROM 上运行出错的可能性,请参考!