热门搜索:新年 节日 礼物 喜庆 人物 花纹 插画 PSD Web2.0 iPhone
维奇社区

你的位置:维奇素材网>学习教程>Flash>

繁體版
    AS制作旋转3D小方块
    来源:中国教程网 | 作者:acti0n | 发布时间:2007-12-04 | 栏目:Flash

  • 本文由中国教程网 acti0n  原创,转载请保留此信息。看下演示效果:

    其实也不算什么教程,只是代码的解释,我尽量写的详细一些。其实这个效果只有这些代码而已,把代码贴到第一帧就可以了。好,下面开始:

    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()

    终于写完了哈,写的不好,请见谅。



  • TAG:

上一篇:Flash打造数字图片随鼠标环绕旋转效果   下一篇:利用Flash AS代码打造漂亮彩色线条动画

热门推荐

经典壁纸

    超酷设计壁纸 幻彩系列壁纸
    超宽屏或双屏幕精选壁纸系列二 超宽屏或双屏幕精选壁纸系列一
字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部