神奇的ActionScript
实例三:神奇的ActionScript
如果Flash仅仅是一款单一的动画制作软件,或许就不会有今天的辉煌。强大的ActionScript脚本吸引了众多使用者,使用ActionScript能协助我们实现三维效果。下面通过一个简单的实例,领略ActionScript的数字三维魔力。
第一步:新建文件并插入一个新图层,从上至下取名为:脚本、小球;按Ctrl+F8创建一个名为“小球”的影片剪辑,在其中绘制一个小球,并填充放射性渐变色;将小球从“库”中拖放到“小球”图层的第1帧,单击“属性”按钮,将其“实例名”设置为“ball”,再在第2帧按F5键。
第二步:在“脚本”图层的第1帧按F6键,然后单击下方的“动作”按钮,输入如下脚本:“zongshu = 12;”在第2帧按F6键,再输入如下语句:
stagewidth = 500;
stageheight = 320;
centerstageX = stagewidth/2;
centerstageY = stageheight/2;
for (i=1; i<zongshu+1; i++) {
duplicateMovieClip ("ball", "ball"+i, i);
}
stop();
第三步:选中小球,打开“动作面板”,为小球加上如下语句:
onClipEvent (load) {
_root.ball._visible = false;
name = substring(_name, 5, 2);
x = (2*Math.PI)*(name/_root.zongshu);
_root.xspeed = 0;
_root.yspeed = 1;
}
onClipEvent (enterFrame) {
zradius = 50;
xradius = 150;
x += _root.xspeed;
cosX = Math.cos(x);
sinX = Math.sin(x);
_x = cosX*xradius*(4+sinX)/4+_root.centerstageX;
scale = sinX*zradius/2+100;
_xscale = scale;
_yscale = scale;
alpha = sinX*zradius+85;
_alpha = alpha;
y = (sinX+(1-sinX)*(1-sinX)/6)*zradius;
_y = _root.yspeed*y+130;
this.swapDepths((sinX+1)*100);
}
onClipEvent (mouseMove) {
_root.xspeed = 0.0004*_xmouse;
_root.yspeed = 0.01*(_ymouse+50);
}
最后按Ctrl+Enter观看效果(如图5),小球会随着鼠标的移动方向而旋转,立体感很强。
通过上面三个实例的展示,是不是对Flash的功能又有了新的认识,只要你用好它,一定能够实现你的三维梦想!
网友评论