网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 网管学堂 > 网页设计 > Flash > Action > Flash教程:纯AS打造3d小方块  

Flash教程:纯AS打造3d小方块

2007-12-03  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

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

网管u家u.bitscn@com

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

网管bitscn_com

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;  网管下载dl.bitscn.com
  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]);  网管bitscn_com
    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()

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

网管联盟bitsCN_com


TAGs   打造   教程       tempy   tempx   lines.lineTo   -p   //   立方      
 上一篇:牌类游戏中取出顺子的算法   下一篇:Flash AS制作上升的水泡效果动画
Flash教程:纯AS打造3d小方块 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: