RSS
热门关键字:     lash教程   lash  as教程   lash
当前位置 :| 主页>AS教程>AS游戏>

ActionScript 3.0 游戏开发之打气球 PART

来源: 作者: 时间:2008-06-27 点击:
    HI,经过了昨天疯狂的理论轰炸,脑袋还清新不?其实昨天的内容很重要,只要昨天那两点理解透了,以后再制作游戏就是一些算法问题,其实做游戏不难.最难的是想法而已.今天继续,依旧是老提纲:
     1,瞄准镜的产生   (类似attachMovie在AS3中该如何表现?)
     2,飞翔的气球    (怎么飞?随机飞,随机速度又怎么表现?该如何记时?)
     3,打气球   (怎么算打中?打中后,气球爆炸怎么表现?声音呢?)
     4,给我个计数器  (计算打中的,飞走的,甚至击中概率)
     5,成与败   (怎么算胜利?怎么算失败?如何表现)
     6,完善     (结尾)

3,打气球   (怎么算打中?打中后,气球爆炸怎么表现?声音呢?)
     瞄准镜能动了,气球能飞了,速度也各具特色.那么下一步就该是打气球了,哈哈.打中不难,难的是打中后的特效表现,让我在编写的时候卡了一下.不过好消息是我会告诉你,所以你就不用卡了.继续昨天的代码
   我把鼠标点击到气球算打中目标,那么我们只需要监听气球是否被鼠标点击到就OK了.打中后,首先考虑的是,需要在舞台上移除掉当前被点击的气球,然后就是移除监听事件,所以代码为:

function shoot(e:MouseEvent):void{
 var tempBall:MovieClip = e.currentTarget as MovieClip;  
 tempBall.removeEventListener(Event.ENTER_FRAME,ballFly);
 tempBall.removeEventListener(MouseEvent.CLICK,shoot);
 tempBall.parent.removeChild(tempBall);
}

    不过我们需要等等,加这代码,因为我需要丰富的被打中的形态,还要出声音.声音先不管,我们先在做一个气球被打的样子.如图:
    点击在新窗口中浏览此图片
    我这里设置的是到第8贞Alpha为零,两头的actionscript都是stop();第2贞标签是:plays.
    所以接刚才的代码里,重新修改为:

function shoot(e:MouseEvent):void {
 var tempBall:MovieClip = e.currentTarget as MovieClip;
 tempBall.gotoAndPlay("plays");
 tempBall.addEventListener(Event.ENTER_FRAME,dieEnter);
 tempBall.removeEventListener(Event.ENTER_FRAME,ballFly);
 tempBall.removeEventListener(MouseEvent.CLICK,shoot);
}
function dieEnter(e:Event):void {
 var tempBall:MovieClip = e.currentTarget as MovieClip;
 var gravity:int = 20;
 var ymov:int = tempBall.y + gravity;
 tempBall.y = ymov;
 if (tempBall.y > stage.stageHeight) {
   tempBall.parent.removeChild(bb);
   tempBall.removeEventListener(Event.ENTER_FRAME, dieEnter);
 }
}


   可以注意到,在监听打中后,又加了个Event.ENTER_FRAME,这主要是为了丰富打中效果而做的,也就是打中后,气球一边往下掉,一边变透明.好了,加上音乐,感觉更好,随便导入一段声效.再加入以下的代码:

   var popSound:pop = new pop();
    popSound.play();
 
     pop就是在库里声音样本的Linkage名字.这样到第三步,基本就已经完成一个打气球游戏了.
源代码:
上一篇:FLASH推箱子(as2.0)
下一篇:没有了
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册