当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash CS4教程:立体梦幻星空旋转3D地球

Flash动画制作
AS3.0实用代码:绘制各种各样三角形
AS代码研究实例:随即运动参数的传递应用
Flash制作3D类动画的教程
Flash AS3制作个性的旋转圆形网页导航
Flash AS2实例:跳动的小球动画效果
Flash交互动画制作技巧:按钮控制动画
Flash AS教程:详细讲解Math对象
Flash动画制作技巧:搞笑动画制作实例
Flash制作技巧:人物行走动画制作剖析
Flash AS3常用的关于MC的代码
Flash AS3.0教程:间隔循环的3种表现方式
Flash动画实例:简单的流星雨动画特效
Flash制作高级的人物行走动画
10个让你大饱眼福的创意Flash网站
Flash实例教程:吸管喝饮料动画
Flash CS4实例教程:漂亮的气泡动画
汇总网页传递参数到flex中的三种方法
AS教程:加载与被加载swf内部变量相互调用
Flash CS4教程:文字颜色缓动特效
Flash CS实例教程:幸运大抽奖动画

Flash动画制作 中的 Flash CS4教程:立体梦幻星空旋转3D地球


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-04   浏览: 209 ::
收藏到网摘: n/a

程序开发环境:Flash CS4 ActionScript 3.0

演示:


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

1、新建AS3.0 flv文档,文档属性,500*500像素,帧频60fps ,存盘。如图1:
图1.png
2、导入制作球体和背景的图片到库中,右键单击球体贴图图片,命名为Earth。如图2:
图2.png
3、创建名为dotClip的影片剪辑,图层1绘制15*15笔触黑色,填充色为#cccccc的圆形,第2帧插入关键帧。添加图层2,在第2 帧插入关键帧,绘制5*5无笔触,颜色为黑色的圆形。图层结构如图3:
图3.png
4、返回场景1,图层1拖入背景图片。
5、添加as层输入代码:
//导入BitmapSphereBasic类 

import com.flashandmath.cs4.BitmapSphereBasic; 

//创建一个行星 

var board:Sprite = new Sprite(); 

//添加到显示列表 

this.addChild(board); 

//生成 datatype BitmapSphereBasic 的一个函数。 

// 设定函数初始值。 

var ball:BitmapSphereBasic; 

//旋转的一个布尔值的函数。 

var autoOn:Boolean = true; 

//两个函数为鼠标旋转。 

var prevX:Number; 

var prevY:Number; 

//行星的位置. 

var ballX:Number = 250; 

var ballY:Number = 250; 

//贴图 

var imageData:BitmapData = new Earth(800,548); 

ball = new BitmapSphereBasic(imageData); 

board.addChild(ball); 

ball.x = ballX; 

ball.y = ballY; 

//滤镜 

ball.filters = [new GlowFilter(0xB4B5FE,0.6,32.0,32.0,1)]; 

this.addEventListener(Event.ENTER_FRAME,autoRotate); 

board.addEventListener(MouseEvent.ROLL_OUT,boardOut); 

board.addEventListener(MouseEvent.MOUSE_MOVE,boardMove); 

board.addEventListener(MouseEvent.MOUSE_DOWN,boardDown); 

board.addEventListener(MouseEvent.MOUSE_UP,boardUp); 

function autoRotate(e:Event):void { 

        if (autoOn) { 

                ball.autoSpin(-1); 



        } 





//三个侦听为旋转和鼠标。 

function boardOut(e:MouseEvent):void { 

        autoOn = true; 





function boardDown(e:MouseEvent):void { 

        prevX = board.mouseX; 

        prevY = board.mouseY; 

        autoOn = false; 





function boardUp(e:MouseEvent):void { 

        autoOn = true; 





function boardMove(e:MouseEvent):void { 

        var locX:Number = prevX; 

        var locY:Number = prevY; 

        //取反 

        if (! autoOn) { 

                prevX = board.mouseX; 

                prevY = board.mouseY; 

                ball.rotateSphere(prevY - locY, - (prevX - locX),0); 

                e.updateAfterEvent(); 



        } 

}
6、把附件中的com解压到同一目录下,完工测试。

Dot.rar:/upload/tech/20100104/20100104135408_6cd67d9b6f0150c77bda2eda01ae484c.rar

com.rar:/upload/tech/20100104/20100104135411_a516a87cfcaef229b342c437fe2b95f7.rar