Flash的AS代码实现漂亮的立体球旋转效果
本例介绍使用Flash的AS代码实现漂亮的立体球旋转效果,适合学习AS的新手朋友!
效果演示:
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
文章评论
共有 0位网翼网友发表了评论 查看完整内容