看下效果先:
记得当时是从一本书上抄来的,没有什么注释,现在又拿出来看了看,发现自己数学功底不够,还是没能看懂,哪位高人看懂了帮忙解释下,谢谢了!
function init(){
_root.createEmptyMovieClip("pad",1);
pad._x=270;
pad._y=200;
};
ya=Math.PI;
//设定观测点的距离
fl=10000;
x=new Array(-100,100,100,-100,-100,100,100,-100);
y=new Array(-100,-100,100,100,-100,-100,100,100);
z=new Array(-100,-100,-100,-100,100,100,100,100);
xp=new Array();
yp=new Array();
function square(x1,y1,x2,y2,x3,y3,x4,y4,col){
pad.beginFill(col,50);
pad.lineStyle(1,0,100);
pad.moveTo(x1,y1);
pad.lineTo(x2,y2);
pad.lineTo(x3,y3);
pad.lineTo(x4,y4);
pad.lineTo(x1,y1);
pad.endFill();
};
_root.onEnterFrame=function(){
init();
cosxa=Math.cos(xa);
sinxa=Math.sin(xa);
cosya=Math.cos(ya);
sinya=Math.sin(ya);
xa+=pad._ymouse/2000;
ya+=pad._xmouse/2000;
for(i=0;i<8;i++){
ypt=cosxa*y-sinxa*z;
zpt=cosxa*z+sinxa*y;
xpt=cosya*x-sinya*zpt;
zpt=cosya*zpt+sinya*x;
scale=fl/(fl+zpt+200);
xp=xpt*scale;
yp=ypt*scale;
};
square(xp[0],yp[0],xp[1],yp[1],xp[2],yp[2],xp[3],yp[3],0xff0000);
square(xp[0],yp[0],xp[3],yp[3],xp[7],yp[7],xp[4],yp[4],0x00ff00);
square(xp[4],yp[4],xp[5],yp[5],xp[6],yp[6],xp[7],yp[7],0x0000ff);
square(xp[1],yp[1],xp[2],yp[2],xp[6],yp[6],xp[5],yp[5],0xff00ff);
square(xp[0],yp[0],xp[1],yp[1],xp[5],yp[5],xp[4],yp[4],0xffff00);
square(xp[2],yp[2],xp[3],yp[3],xp[7],yp[7],xp[6],yp[6],0x00ffff);
};
_root.onMouseDown=function(){
_root.draw=true;
};
_root.onMouseUp=function(){
_root.draw=false;
};
您可能对这些文章也感兴趣:- 做的一个Flash小游戏
- 一个flash特效!
- 两种下载网页中flash的方法
- gotoAndPlay()+stop()!=gotoAndStop()
- 闪吧开博客&flash好文推荐(update)
- FLASH MX 2004设计者样题及相关说明
- 梭哈,请大家帮忙测试一下
- flash调用外部数据乱码解决全方案
- 中搜居然还有个flash版
- Silverlight与Flash相比几大缺点
与该文相关的评论:(我也想说几句)Processed in 0.1875024 second(s) , unknow queries
Powered by OWord V0.1, Even Not Alpha
(此博客程序为半成品,请勿索取,以免给您的心灵造成创伤^_^)
鄂ICP备05026031号
2005-5
我来说两句:
用户中心
日志分类

最新日志
统计信息





