快速业务通道

Flash AS打造转动3D小方块视觉特效

作者 凌众技术 来源 网页制作 浏览 发布时间 2012-03-10

 Flash教程,用Flash AS打造转动3D小方块视觉特效

演示:

其实也不算什么教程,只是代码的解释~我尽量写的详细一些~

其实这个效果只有这些代码而已~把代码贴到第一帧就可以了~

好,下面开始:

stop();
//这个stop是让FLASH播放在这一帧停下来,但对代码的运行没有影响~其实不用也没关系
angle=-0.03;
dot_x=Stage.width/2;
dot_y=Stage.height/2;
p=70;
d=300;
//先初始化一下变量~angle是立方体每次转过的角度,dot_x和dot_y定义了空间的原点,p是立方体边长的一半,d是眼
//睛距离屏幕的像素
sx=new Array(-p,p,p,-p,-p,p,p,-p);
sy=new Array(-p,-p,-p,-p,p,p,p,p);
sz=new Array(-p,-p,p,p,-p,-p,p,p);
//这三个数组储存了立方体八个点的实际坐标
tempx=new Array(8);
tempy=new Array(8);
//这两个数组用来存储立方体8个点在屏幕上的坐标
function r(){
for(i=0;i     temp_x=sx*Math.cos(angle)-sz*Math.sin(angle);
     temp_z=sx*Math.sin(angle)+sz*Math.cos(angle);
//这个是用来计算立方体在转动时八个点的坐标
  sx=temp_x;
  sy=sy;
  sz=temp_z;
//要这样赋值一下~否则立方体会越转越长
  tempx=(sx/(sz+d))*d+dot_x;
  tempy=(sy/(sz+d))*d+dot_y;
//这个是用来将立方体的实际坐标转化成屏幕的坐标,不懂的可以参考一下计算机图形学的书

}
    _root.createEmptyMovieClip("lines", 1);
    lines.lineStyle(1, 11111111, 100);
    lines.moveTo(tempx[0],tempy[0]);
    lines.lineTo(tempx[1],tempy[1]);
    lines.lineTo(tempx[2],tempy[2]);
    lines.lineTo(tempx[3],tempy[3]);
    lines.lineTo(tempx[0],tempy[0]);
    lines.lineTo(tempx[4],tempy[4]);
    lines.lineTo(tempx[5],tempy[5]);
    lines.lineTo(tempx[6],tempy[6]);
    lines.lineTo(tempx[7],tempy[7]);
    lines.lineTo(tempx[4],tempy[4]);
    lines.moveTo(tempx[1],tempy[1]);
    lines.lineTo(tempx[5],tempy[5]);
    lines.moveTo(tempx[2],tempy[2]);
    lines.lineTo(tempx[6],tempy[6]);
    lines.moveTo(tempx[3],tempy[3]);
    lines.lineTo(tempx[7],tempy[7]);
    _root.removeMovieClip("lines");
//上面的这一堆东西是用来把算出来的立方体的点用线连起来~其实可以优化一下的
updateAfterEvent();
//更新一下
}
setInterval(r,5);
//每隔5毫秒运行一次函数r()

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号