当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash新手入门教程:AS代码实现漂亮的立体球旋转效果

Flash动画制作
fmx2004 1000问(5)
Flash MX 2004 组件事件简单调试器
fmx2004 1000问(2)
Action Script 2.0新手调试
Flash 2004 MX Components
flash action 详解(9)
flash action 详解(7)
flash action 详解(1)
flash action 详解(6)
一个用纯AS写的正态曲线画法
flash action 详解(3)
浅谈AS的绘图功能及几个简单的实例
AS的基本代码解释(2)
flash action 详解(2)
flash action 详解(10)
运用for循环来对多个mc进行检测
极坐标在绘画方法中的运用
用Flash 2004编写简单的运算类
flash action 详解(4)
flash action 详解(5)

Flash动画制作 中的 Flash新手入门教程:AS代码实现漂亮的立体球旋转效果


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 165 ::
收藏到网摘: n/a

效果演示:

1,建立FLASH文档,起名为“立体球”,保存。设置背景为深蓝色,其他属性默认。

2、新建影片剪辑元件“球”,用椭圆工具画一椭圆,笔触无,放射状填充,色彩自定,大小设20,全居中。最后打开库中影片剪辑元件“球”右键链接如图:

3、回到场景图层1第1帧右键动作进入动作面板,输入如下语句:

_root.createEmptyMovieClip("MC", 1);
MC._x = 275;
MC._y = 200;
MC._xscale = MC._yscale = 50;
n = 0;
R = 200;
f = 300;
var myarray = new Array();
var j = 10;
while (j <= 180)
{
var i = 10;
while (i <= 360)
{
++n;
r = Math.sin(j * 3.141593E+000 / 180) * R;
MC.attachMovie("b", "b" + n, n);
MC["b" + n].x = r * Math.cos(i * 3.141593E+000 / 180);
MC["b" + n].z = r * Math.sin(i * 3.141593E+000 / 180);
MC["b" + n].y = R * Math.cos(j * 3.141593E+000 / 180);
MC["b" + n].kk = function (a)
{
x0 = this.x;
y0 = this.y;
z0 = this.z;
x1 = x0;
y1 = Math.cos(a) * y0 - Math.sin(a) * z0;
z1 = Math.sin(a) * y0 + Math.cos(a) * z0;
f1 = f / (f + z1);
this._x = x1 * f1;
this._y = y1 * f1;
this._alpha = 100 * f / (f + z0);
};
myarray.push(MC["b" + n]);
i = i + 10;
} // end while
j = j + 10;
} // end while
p = 0;
onEnterFrame = function ()
{
p = p + 1.000000E-002;
for (var _loc1 = 0; _loc1 < myarray.length; ++_loc1)
{
myarray[_loc1].kk(p);
} // end of for
};
保存,测试,OK