Flash CS4教程:立体梦幻星空旋转3D地球

作者:网络 来源:佚名 更新时间:2009-11-18 20:33:24 点击:
程序开发环境: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:http://www.webjx.com/files/soft/1_091118203737.rar

com.rar:http://www.webjx.com/files/soft/1_091118203839.rar