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

Flash动画制作
我是大导演 MTV创作速成教程
二合一按钮的制作
[DIY]这种相册你有吗?
教你一招绝的!把Flash动画转换成VCD视频
使用Flash MX的3个小技巧
Flash课件一网打尽
Flash Player 7 安全策略解析
FlashMX特效之扩散与挤压
Flash MX 2004 体验之旅
Flash使用技巧--用Flash制作拖拉式菜单
Flash使用技巧--用Flash制作转动的地球仪
Flash使用技巧--用Flash 5制作Winamp光谱柱的效果
Flash使用技巧--用Flash制作落地有声的瓶子
Flash使用技巧--用Flash 5巧做“弹出”效果菜单
Flash使用技巧--用Flash制作即指即现的广告条
用大师级软件MixFX轻松打造专业FLASH
用Flash MX快速制作沟通留言程序
用Flash制作动感效果的网页链接提示框
巧妙运用Flash MX 2004制作“拖曳配对题”
用Flash MX制作精彩的粉荷清波动画特效一例

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


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