1,新建一个Flash文件,在库中新建一个MC,把事先准备好的图片序列导入到该MC中,一张图片占一帧;
2,把这个MC拖放到场景中,可以先发布预览一下,看看图片序列播放起来是否流畅;
3,新建一个ActionScript文件,文件名保存为DragCtrlPlay.as(文件名必须跟里面的类名相同),里面的代码如下:
?
- class?DragCtrlPlay?extends?MovieClip?{ ?
-
???????
-
??????private?var?total_frames:Number; ?
-
???????
-
??????private?var?current_frame:Number; ?
-
???????
- ??????var?start_x:Number;? ?
-
???????
- ??????var?drag_dx:Number; ?
-
???????
- ??????var?is_ctrl:Boolean; ?
- ?
-
???????
- ??????function?DragCtrlPlay()?{ ?
- ??????????????init();? ?
- ??????} ?
-
???????
-
??????private?function?init()?{ ?
-
??????????????total_frames?=?this._totalframes; ?
-
??????????????current_frame?=?1; ?
-
??????????????drag_dx?=?10; ?
-
??????????????is_ctrl?=?false; ?
-
??????????????this.gotoAndStop(1); ?
-
??????????????this.onRollOver?=?mcOnRollOver; ?
-
??????????????this.onPress?=?mcOnPress;? ?
-
??????????????this.onRelease?=?this.onReleaSEOutside=mcOnRelease;? ?
-
??????????????this.onMouseMove?=?mcOnMouseMove; ?
- ??????} ?
-
???????
-
??????private?function?mcOnRollOver()?{ ?
-
???????????????
-
???????????????
- ??????} ?
-
???????
-
??????private?function?mcOnPress()?{ ?
-
???????????????
- ??????????????start_x?=?_xmouse; ?
-
???????????????
-
??????????????is_ctrl?=?true;? ?
- ??????}? ?
-
???????
-
??????private?function?mcOnRelease()?{ ?
-
???????????????
-
??????????????is_ctrl?=?false; ?
-
???????????????
-
??????????????current_frame?=?this._currentframe; ?
- ??????} ?
-
???????
-
??????private?function?mcOnMouseMove()?{ ?
-
??????????????if?(is_ctrl)?{ ?
-
???????????????????????
- ??????????????????????var?current_x:Number?=?_xmouse; ?
-
???????????????????????
- ??????????????????????var?frame_d:Number?=?Math.ceil((current_x-start_x)/drag_dx); ?
-
???????????????????????
- ??????????????????????mcGotoAndStop(frame_d); ?
-
???????????????????????
- ??????????????????????updateAfterEvent();? ?
- ??????????????} ?
- ??????} ?
-
???????
-
??????private?function?mcGotoAndStop(__d)?{ ?
-
???????????????
- ??????????????var?frame_final:Number?=?current_frame+__d; ?
-
???????????????
- while (frame_final>total_frames) {
?
- ? ? ? ? frame_final -= total_frames;
?
- }
?
- while (frame_final<1) {
?
- ? ? ? ? frame_final += total_frames;
?
- }
- ?
-
??????????????this.gotoAndStop(frame_final);? ?
- ??????}? ?
??????????????
?
?4,在库中右键单击这个MC,选择“链接...”(Linkage...); 5,在弹出的窗口中勾选“为ActionScript导出“(Exprot for ActionScript),在“类”(Class)那一栏中填入要绑定的类名:DragCtrlPlay; 6,把类文件DragCtrlPlay.as跟FLASH源文件在同一目录下,发布即可看到效果; ?