加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

用Flash如何制作360度产品展示

发布时间:2020-12-15 18:42:21 所属栏目:百科 来源:网络整理
导读:1,新建一个Flash文件,在库中新建一个MC,把事先准备好的图片序列导入到该MC中,一张图片占一帧; 2,把这个MC拖放到场景中,可以先发布预览一下,看看图片序列播放起来是否流畅; 3,新建一个ActionScript文件,文件名保存为DragCtrlPlay.as(文件名必须跟

1,新建一个Flash文件,在库中新建一个MC,把事先准备好的图片序列导入到该MC中,一张图片占一帧;
2,把这个MC拖放到场景中,可以先发布预览一下,看看图片序列播放起来是否流畅;
3,新建一个ActionScript文件,文件名保存为DragCtrlPlay.as(文件名必须跟里面的类名相同),里面的代码如下:
?

 
 
  1. class?DragCtrlPlay?extends?MovieClip?{ ?
  2. ??????//被拖拽MC的总帧数: ?
  3. ??????private?var?total_frames:Number; ?
  4. ??????//被拖拽MC的当前帧数: ?
  5. ??????private?var?current_frame:Number; ?
  6. ??????//鼠标点击图片时的x坐标: ?
  7. ??????var?start_x:Number;? ?
  8. ??????//拖拽控制灵敏度: ?
  9. ??????var?drag_dx:Number; ?
  10. ??????//响应拖拽的开关: ?
  11. ??????var?is_ctrl:Boolean; ?
  12. ?
  13. ??????//构造函数: ?
  14. ??????function?DragCtrlPlay()?{ ?
  15. ??????????????init();? ?
  16. ??????} ?
  17. ??????//各项初始化: ?
  18. ??????private?function?init()?{ ?
  19. ??????????????total_frames?=?this._totalframes; ?
  20. ??????????????current_frame?=?1; ?
  21. ??????????????drag_dx?=?10; ?
  22. ??????????????is_ctrl?=?false; ?
  23. ??????????????this.gotoAndStop(1); ?
  24. ??????????????this.onRollOver?=?mcOnRollOver; ?
  25. ??????????????this.onPress?=?mcOnPress;? ?
  26. ??????????????this.onRelease?=?this.onReleaSEOutside=mcOnRelease;? ?
  27. ??????????????this.onMouseMove?=?mcOnMouseMove; ?
  28. ??????} ?
  29. ??????//鼠标onRollOver事件: ?
  30. ??????private?function?mcOnRollOver()?{ ?
  31. ??????????????//不显示鼠标手势: ?
  32. ??????????????//this.useHandCursor?=?false;? ?
  33. ??????} ?
  34. ??????//鼠标onPress事件: ?
  35. ??????private?function?mcOnPress()?{ ?
  36. ??????????????//记录鼠标点击图片时的x坐标: ?
  37. ??????????????start_x?=?_xmouse; ?
  38. ??????????????//打开响应开关: ?
  39. ??????????????is_ctrl?=?true;? ?
  40. ??????}? ?
  41. ??????//鼠标onRelease事件: ?
  42. ??????private?function?mcOnRelease()?{ ?
  43. ??????????????//关闭响应开关: ?
  44. ??????????????is_ctrl?=?false; ?
  45. ??????????????//更新当前帧数: ?
  46. ??????????????current_frame?=?this._currentframe; ?
  47. ??????} ?
  48. ??????//鼠标onMouseMove事件: ?
  49. ??????private?function?mcOnMouseMove()?{ ?
  50. ??????????????if?(is_ctrl)?{ ?
  51. ??????????????????????//实时获取鼠标当前x坐标: ?
  52. ??????????????????????var?current_x:Number?=?_xmouse; ?
  53. ??????????????????????//播放的帧数差: ?
  54. ??????????????????????var?frame_d:Number?=?Math.ceil((current_x-start_x)/drag_dx); ?
  55. ??????????????????????//影片播放到当前帧数差的位置: ?
  56. ??????????????????????mcGotoAndStop(frame_d); ?
  57. ??????????????????????//更新画面显示,使拖拽效果不受影片帧速影响: ?
  58. ??????????????????????updateAfterEvent();? ?
  59. ??????????????} ?
  60. ??????} ?
  61. ??????//影片播放到当前帧数差的位置: ?
  62. ??????private?function?mcGotoAndStop(__d)?{ ?
  63. ??????????????//影片最终播放并停止到的帧数: ?
  64. ??????????????var?frame_final:Number?=?current_frame+__d; ?
  65. ??????????????//超出帧数范围会循环播放: ?
    • while (frame_final>total_frames) {
      ?
    • ? ? ? ? frame_final -= total_frames;
      ?
    • }
      ?
    • while (frame_final<1) {
      ?
    • ? ? ? ? frame_final += total_frames;
      ?
    • }
    • ?
    • ??????????????this.gotoAndStop(frame_final);? ?
    • ??????}? ?
    ?????????????? //最后gotoAndStop到计算好的帧数: ?

?4,在库中右键单击这个MC,选择“链接...”(Linkage...); 5,在弹出的窗口中勾选“为ActionScript导出“(Exprot for ActionScript),在“类”(Class)那一栏中填入要绑定的类名:DragCtrlPlay; 6,把类文件DragCtrlPlay.as跟FLASH源文件在同一目录下,发布即可看到效果; ?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读