FLash用纯脚本的三维效果

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

把下面代码复制放到FLASH中的动作面板中就可以了!

//声明参数并初始值

var n = 0;

//初始坐标

a_x = Stage.width/2;

a_y = Stage.height/2;

//半周系数

var p = Math.PI/180;

//创建空的影片剪辑mc

_root.createEmptyMovieClip("mc", -1);

//在mc上画一个半圆,在此利用了一个参数方程,圆的参数为,大小150像素,从90度开始画起,是个垂直半圆

with (_root.mc) {

lineStyle(1, 0x999900, 100);

for (i=0; i<180; i++) {

moveTo(150*Math.cos((90+i)*p), 150*Math.sin((90+i)*p));

lineTo(150*Math.cos((91+i)*p), 150*Math.sin((91+i)*p));

}

}

//设置圆的坐标

_root["mc"]._x = a_x;

_root["mc"]._y = a_y;

//复制影片剪辑并反转该影片剪辑,与前一个半圆组成一个整圆

duplicateMovieClip("mc", "mc"+0, 0);

_root["mc0"]._x = a_x;

_root["mc0"]._y = a_y;

//这个就是反转半圆

_root["mc0"]._xscale = -100;

//复制12个半圆

for (i=1; i<=12; i++) {

duplicateMovieClip("mc", "mc"+i, i);

//在每个影片剪辑上执行脚本

_root["mc"+i].onEnterFrame = function() {

//获取影片剪辑实例名的参数,在这里表示获取从第三个字符起的两个字符,是个数字

i = this._name.substr(2, 2);

//影片剪辑的坐标

this._x = a_x;

this._y = a_y;

//影片剪辑的旋转,在这里,以60度为单位旋转

this._rotation = Math.round((i-1)/6)*60;

//影片剪辑的缩放

this._xscale = 100*Math.cos((((i-1)%6)*60+n)*p);

//影片剪辑的透明度

this._alpha = 10+(1-Math.cos(((i%6)*60+n)*p))*45;

/*参数递增,这个参数还可以通过鼠标的坐标来动态的改变

比如n+=_root._xmouse/1000,大家可以隐藏n+=.2看一下效果

在这里我隐藏了鼠标效果*/

//n += .2;

n += (Stage.width/2-_root._xmouse)/1000;

};

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航