FLASH CS5 AS3脚本重制小坦克游戏+源码

来源:互联网 发布:rose only和beast 知乎 编辑:程序博客网 时间:2024/05/28 18:45

转载请注明来源.谢谢合作http://blog.csdn.net/limuyun

 

   游戏服务器开发已经告一段落,现在进入客户端的开发了.选来选去,还是觉得用FLASH简单点,具体好处也不多说了.学习嘛,自然得找两个东西练练手,从网上找到了一个小坦克AS2源码,研究了下,并将他用AS3重写了下.代码拙劣,请多包含.

 

    首先新建元件->影片剪辑->炮台.简单绘制了个坦克的炮台.如图

 记得中心点对齐,返回主场景,继续新建影片剪辑->车身,如图;

是不是记得有点简陋啊.呵呵,我又不是美工,简单为主. 记得中心点对齐,返回主场景,继续新建影片剪辑->坦克,从库里把车身和炮台组合成一张坦克,给炮台起个实例名-pt.如图.

基本有点像了囧...然后返回主场景,打开库面板,选择坦克->右键属性,链接坦克类tank.as

 

 

 

 

编辑tank.as

输入如下代码:

 

 

移动计算的核心代码是这段

 

  public function move()
  {
   y -= (Math.cos(Math.PI/180*rotation))*speed;
   x += (Math.sin(Math.PI/180*rotation))*speed;
  }

 

通过正弦余弦函数计算出新的坐标点.rotation属性是影片剪辑是旋转角度,值为+-180 or 0;

由于AS3已经没有Key.isDown()函数了,所以我又重新写了个key的代替模拟类.对很多人应该很有用的.

 

继续新建影片剪辑->炮弹,画个小圆.


老规矩,一切从简.返回主场景,为改剪辑连接一个专用类,boll.键入如下代码.

里面用了一个定时器循环计算炮弹移动的位置,你也可以给计时器加个次数限制,时间到就爆炸.呵呵.

 

发射炮弹是的代码在坦克类里是如下

   //发射炮弹
   if(key.isDown(32))
   {
    var b=new boll(rotation+pt.rotation);
    stage.addChild(b);
    b.scaleX=0.1;  //缩放
    b.scaleY=0.1;   //缩放
    b.y=y-(Math.cos(Math.PI/180*(rotation+pt.rotation)))*35;  //设置炮弹位置到炮口
    b.x=x+(Math.sin(Math.PI/180*(rotation+pt.rotation)))*35; 
    b.go(); //发射
   }

 

OK,接着就是自己在一个空的场地里乱打炮了.呵呵,很无聊,主要是为了练习.呵呵,有机会继续深入制作.

 

 

2010-09-17     穆先生制作,欢迎加入我的游戏开发群15731912.我的QQ:21787070

附上源代码:

 

http://hi.csdn.net/attachment/201009/17/0_1284689976WOs2.gif

鼠标右键另存为,然后将他改名tank.rar,解压就行了.

原创粉丝点击