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

Flash动画制作
Flash卡通景物绘制
鼠绘偏写实人物
鼠绘--柱顶红的画法
FLASH实现滚动条+网页书签效果
Flash MX中Button Object的用法
as入门之数学函数--弧度
as入门之数学函数--Math类
闪动的变色圆盘
组件封装为mxp文件的方法
判断数字大小
Flash 缓存问题的解决
Flash MX pro 2004 新特性之Flash Lite
在Flah MX2004的ListBox中应用HTML
Flash MX 2004中的XML应用之原理篇
Flash MX 2004视频教程超速入门系列(1)
Flash MX 2004视频教程超速入门系列(2)
Flash MX 2004视频教程超速入门系列(3)
Flash MX 2004视频教程超速入门系列(4)
Flash MX 2004视频教程超速入门系列(5)
Flash MX 2004视频教程超速入门系列(6)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-04   浏览: 231 ::
收藏到网摘: 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