×

关注微信公众号

免备案网站空间虚拟主机双线空间域名查询PS数码后期
photoshop互助课堂数百G视频教程下载英语培训机构初中英语如何学随时随地聆听大师开讲/课堂
酷素材!视频教程打包下手绘教程抠图教程路径专辑photoshop cs3视频教程
查看: 19565|回复: 46

[AS] AS3.0 实例—制作3D旋转球

  [复制链接]
发表于 2009-11-3 16:10:18 | 显示全部楼层 |阅读模式
本帖最后由 xyl7422 于 2011-7-5 09:28 编辑

AS3.0 实例—制作3D旋转球

程序开发环境:Flash CS4 ActionScript 3.0

演示:


本教程用BitmapSphereBasic类,创建改变旋转方向和移动贴图的实例。

1、新建AS3.0 flv文档,文档属性,500*500像素,帧频60fps ,存盘。如图1;

2、导入制作球体和背景的图片到库中,右键单击球体贴图图片,命名为Earth。如图2;

3、创建名为dotClip的影片剪辑,图层1绘制15*15笔触黑色,填充色为#cccccc的圆形,第2帧插入关键帧。添加图层2,在第2 帧插入关键帧,绘制5*5无笔触,颜色为黑色的圆形。图层结构如图3:

4、返回场景1,图层1拖入背景图片。
5、添加as层输入代码:
  1. //导入BitmapSphereBasic类
  2. import com.flashandmath.cs4.BitmapSphereBasic;
  3. //创建一个行星
  4. var board:Sprite = new Sprite();
  5. //添加到显示列表
  6. this.addChild(board);
  7. //生成 datatype BitmapSphereBasic 的一个函数。
  8. // 设定函数初始值。
  9. var ball:BitmapSphereBasic;
  10. //旋转的一个布尔值的函数。
  11. var autoOn:Boolean = true;
  12. //两个函数为鼠标旋转。
  13. var prevX:Number;
  14. var prevY:Number;
  15. //行星的位置.
  16. var ballX:Number = 250;
  17. var ballY:Number = 250;
  18. //贴图
  19. var imageData:BitmapData = new Earth(800,548);
  20. ball = new BitmapSphereBasic(imageData);
  21. board.addChild(ball);
  22. ball.x = ballX;
  23. ball.y = ballY;
  24. //滤镜
  25. ball.filters = [new GlowFilter(0xB4B5FE,0.6,32.0,32.0,1)];
  26. this.addEventListener(Event.ENTER_FRAME,autoRotate);
  27. board.addEventListener(MouseEvent.ROLL_OUT,boardOut);
  28. board.addEventListener(MouseEvent.MOUSE_MOVE,boardMove);
  29. board.addEventListener(MouseEvent.MOUSE_DOWN,boardDown);
  30. board.addEventListener(MouseEvent.MOUSE_UP,boardUp);
  31. function autoRotate(e:Event):void {
  32.         if (autoOn) {
  33.                 ball.autoSpin(-1);

  34.         }

  35. }
  36. //三个侦听为旋转和鼠标。
  37. function boardOut(e:MouseEvent):void {
  38.         autoOn = true;

  39. }
  40. function boardDown(e:MouseEvent):void {
  41.         prevX = board.mouseX;
  42.         prevY = board.mouseY;
  43.         autoOn = false;

  44. }
  45. function boardUp(e:MouseEvent):void {
  46.         autoOn = true;

  47. }
  48. function boardMove(e:MouseEvent):void {
  49.         var locX:Number = prevX;
  50.         var locY:Number = prevY;
  51.         //取反
  52.         if (! autoOn) {
  53.                 prevX = board.mouseX;
  54.                 prevY = board.mouseY;
  55.                 ball.rotateSphere(prevY - locY, - (prevX - locX),0);
  56.                 e.updateAfterEvent();

  57.         }
  58. }
复制代码
6、把附件中的com解压到同一目录下,完工测试。
本帖的地址:http://bbs.jcwcn.com/forum.php?mod=viewthread&tid=278490
跟着教程做一遍,做完的图要到这里评论交作业,教程有看不懂的地方,可以在贴子下面评论

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +8 热心度 +2 收起 理由
zctmh0336 + 8 + 2 好教程

查看全部评分

发表于 2009-11-3 21:30:34 | 显示全部楼层
酷素材

很漂亮的图,交作业了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +3 收起 理由
zctmh0336 + 3 支持

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2009-11-30 16:17:06 | 显示全部楼层
直径怎呢改?
回复 支持 反对

使用道具 举报

发表于 2010-11-27 19:16:34 | 显示全部楼层
practical
回复 支持 反对

使用道具 举报

发表于 2010-11-30 15:07:33 | 显示全部楼层
酷素材
我做了三天都没有做出来,反应出来的是代码错误,我知道肯定是哪里做错了,但不知道错在哪里了。我是把COM解压文件和fla文档保存在同一个文件包里的,恳请指点一下。
回复 支持 反对

使用道具 举报

发表于 2010-11-30 16:13:16 | 显示全部楼层
酷素材
1# cao4811


太漂亮了
回复 支持 反对

使用道具 举报

发表于 2010-12-2 14:40:26 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

发表于 2010-12-2 20:47:44 | 显示全部楼层
交作业

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +3 收起 理由
sanbos + 3 做得不错

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2010-12-2 20:55:46 | 显示全部楼层
每当完成一个作业,心里有说不出的快乐,flash制作竟是那样神奇{:1_167:}
回复 支持 反对

使用道具 举报

发表于 2010-12-3 10:52:05 | 显示全部楼层
8楼的作业:
回复 支持 反对

使用道具 举报

发表于 2010-12-5 20:18:43 | 显示全部楼层
希望有人能做一个类似的3D地球仪
回复 支持 反对

使用道具 举报

发表于 2010-12-7 08:55:18 | 显示全部楼层
在老师给出的素材里  用上了  jc:sweat

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x
回复 支持 反对

使用道具 举报

发表于 2011-3-9 17:03:53 | 显示全部楼层
好漂亮啊···{:1_174:}
回复 支持 反对

使用道具 举报

发表于 2011-4-2 22:42:55 | 显示全部楼层
怎么下不到COM?
回复 支持 反对

使用道具 举报

发表于 2011-5-2 22:01:07 | 显示全部楼层
唉~~~~~ 下不到东西
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | [立即注册]

本版积分规则

2345