Flash实例教程:AS3.0打造三维旋转球

2015-08-18 15:16:20来源:作者:人点击

第七城市

本教程利用Flash CS4 ActionScript 3.0打造三维旋转球,希望对大家有所帮助!教程用BitmapSphereBasic类,创建改变旋转方向和移动贴图。

先看看演示:


效果演示

制作方法:

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

Flash实例教程:AS3.0打造三维旋转球  第七城市
图1

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

Flash实例教程:AS3.0打造三维旋转球
图2

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

Flash实例教程:AS3.0打造三维旋转球
图3

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解压到同一目录下,完工测试。

第七城市

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台