`
hgfghw6
  • 浏览: 44718 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

as3游戏开发之打气球系列(二)

阅读更多

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名字.这样到第三步,基本就已经完成一个打气球游戏了.
源代码:

下载文件
点击这里下载文件
4,给我个计数器  (计算打中的,飞走的,甚至击中概率)
     从这一步开始,就需要对以前的代码进行反工修改.所谓记数器,就是知道自己打中了几个,飞走了几个。对于赢或者输会在下一步说.这里,我们需要在舞台放放置两个动态文本,大小为12,黑色字体.分别命名为:fireIn(打中),fireOut(飞走)
     每打中一个,就为fireIn加一个,飞走一个,fireOut也是.那么好,需要在程序里加以下代码
var fireInNumber:int=0;
var fireOutNumber:int=0;
//以下的加到lose function
fireOutNumber ++;
fireOut.text = fireOutNumber.toString();
//以下的加到shoot function
fireInNumber ++;
 fireIn.text = fireInNumber.toString();
    击中概率那个简单,就是相除就可以,就不说了.
源文件:

下载文件
点击这里下载文件
 5,成与败   (怎么算胜利?怎么算失败?如何表现)
    如何算成功?如何算失败?我们要先说说怎么算失败.我这里打算放一个血条,3格血,飞走一个,就掉一格,全部掉完,算输.当然直接算飞走3个也可以,不过丰富一点好,以后就知道怎么做了.接着说成功,那方法就多了,比如10个里,打中了一个算赢.哈哈,这样好象过于无耻了点。不过目前都是讲概念,怎么实行还是看你自己怎么编写。
   先在舞台上搞一个血条.像这样的


    然后在lose Function里加代码:
//我是根据飞走数量来决定血条,注意此代码需要加在fireOutNumber ++的后面.
if (fireOutNumber >= 3) {
   t.stop();
   blood.gotoAndStop((fireOutNumber+1));
   trace("YOU DIE!");
    balls.removeEventListener(Event.ENTER_FRAME,ballFly);
    balls.removeEventListener(MouseEvent.CLICK,shoot);
    removeChild(content_mc);
 } else {
   blood.gotoAndStop((fireOutNumber+1));
 }
     加上此代码后,你可以测试一下,飞走3个气球就会TARCE出YOU DIE.也表示这一步的失败做法我们算是完成了。下面说成功,我把气球的总数改为20个,只要打中5个就算赢,所以修改代码,接着根据fireInNumber的数量来决定是否成功.那么就在shoot  function里加入代码:
if(fireInNumber>=5){
   trace("YOU WIN!");
   t.stop();
 }
     这段比较简单,这样这成与败算是完成了.源代码下载:

下载文件
点击这里下载文件
6,完善     (结尾)
     完善,说起来简单,但是其实非常麻烦.我在制作一个项目的时候,最后阶段的调试是非常麻烦的.你可以回头看看以上的几个源代码都是有非常大的问题,封装性不够强.因为我是边写文章,边写代码.而且写起来太烦琐.但是,我觉得只要你懂的大意,就可以了.概念性大于实际操作.关于其他的打飞机,打潜水艇游戏等等,基本上都差不多,唯一的不同就是算法不同.怪物出现的方式不同.
      你知道一个程序的完善靠的是什么?是经验,有很多人老说优化问题,我个人认为,这也是一个个人经验问题,习惯问题,有良好的编程习惯,对一些数据知道什么时候监听,什么时候移除监听.因为,你要知道,有的监听不用移除也是没问题的,只不过会多占用CPU资源,这一切的解决都需要你自己的对代码研究和制作的经验.
以下是修复后完整的源代码:

下载文件
点击这里下载文件
ps:以后会介绍更多的游戏制作方法,不过先在这里没有把游戏完整的介绍完说声抱歉,因为还有数据显示啊,重新玩一次等等.不过别急,这个只打个底,以后讲游戏,就不再那么详细了,只会把大概意思说一下,然后直接上代码.饭总要一口一口的吃.
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/3213.html
分享到:
评论

相关推荐

    as3打气球小游戏

    本文将基于“as3打气球小游戏”这一项目,深入剖析AS3在游戏开发中的应用,帮助初学者和类学习者更好地理解和掌握相关技术。 首先,我们要明白AS3是Adobe Flash Professional和Flash Builder等工具中的编程语言,它...

    Flash打气球游戏AS3源码

    【Flash打气球游戏AS3源码】是一个基于Adobe Flash平台开发的小型游戏,它采用ActionScript 3.0(AS3)编程语言编写。AS3是Flash开发中的一个重要里程碑,相比之前的版本,它提供了更加强大且面向对象的编程模型,...

    flash as3 打气球游戏源码

    【标题】"Flash AS3 打气球游戏源码"是一个基于ActionScript 3.0编程语言开发的小型游戏项目,旨在提供一个简单的娱乐体验,让玩家通过互动操作来击破屏幕上不断出现的气球。AS3是Flash Professional中用于创建动态...

    打气球.rar经典FC游戏

    《打气球》是一款经典的FC(Family Computer,即任天堂红白机)游戏,深受80后、90后的喜爱。该游戏以其简单的操作、趣味的游戏机制和富有挑战性的关卡设计,成为了许多人的童年回忆。在本文中,我们将深入探讨《打...

    Java 打气球 小游戏 源码 案例

    【Java 打气球 小游戏 源码 案例】是一个基于Java编程语言开发的趣味小游戏,旨在提供一种轻松愉快的方式学习和实践Java编程。这个游戏的核心机制是玩家通过控制某种对象(如箭头、子弹等)来击破屏幕上不断升起的...

    VBA版打气球游戏 VBA 版打气球游戏 Excel

    VBA 版打气球游戏 Excel VBA 版打气球游戏 Excel VBA 版打气球游戏 Excel VBA 版打气球游戏 Excel VBA 版打气球游戏 Excel VBA 版打气球游戏 Excel VBA 版打气球游戏 Excel VBA 版打气球游戏 Excel

    flash cs3 小游戏打气球

    通过学习和分析这个“打气球”游戏,我们可以了解Flash游戏开发的基本流程和核心技术,这对于想要进入Flash开发领域的初学者来说是一个很好的起点。同时,这也是一个实践ActionScript编程和理解游戏设计原理的好例子...

    JavaScript实现打气球的游戏

    JavaScript实现的打气球游戏是一种常见的网页互动小游戏,它结合了HTML、CSS和JavaScript技术,为用户提供了一种娱乐和学习编程的机会。在这个项目中,主要的知识点包括: 1. **HTML结构**:游戏界面的构建通常由...

    打气球小游戏.zip

    总的来说,“打气球小游戏”是一个结合了HTML5、jQuery和面向对象编程的优秀实践案例,它展示了现代Web开发技术在游戏开发中的强大应用。通过对这个游戏的深入剖析,开发者不仅可以学习到基础的前端技术,还能理解...

    打气球小游戏-面向对象.zip

    坐标的确定:横坐标0 1 2 3 纵坐标 0 1 2(4*3的精灵图),横坐标通过 下标%4 得出 纵坐标通过 parseInt(下标/4)得出 初始化设置 :初始化 x,y→ x,y轴 x轴clientWidth取随机 y轴clientHeight div创建加类上树 ...

    用C++编写的打气球的小游戏,课程设计

    本文将详细解析一个大二学生利用C++语言编写的打气球小游戏,带你深入理解C++的基本语法、游戏逻辑设计以及交互式程序的开发。 一、C++语言基础 C++是一种强大的面向对象编程语言,它继承了C语言的高效性和灵活性,...

    打气球-flash游戏源码

    【打气球-Flash游戏源码】是一款基于Adobe Flash平台开发的简单娱乐游戏,源码包含`.fla`和`.as`文件,是学习和理解Flash游戏开发的基础资源。`.fla`文件是Flash的原始工程文件,包含了游戏的所有图形元素、动画、...

    打气球小游戏(js)附带说明

    通过这个"打气球"小游戏,开发者不仅可以练习JavaScript的基本语法和编程思维,还能深入理解游戏开发的原理,提升前端开发技能。同时,对于初学者来说,这是一个很好的实践项目,可以边学边做,将理论知识转化为实际...

    用html5做了一个打气球小游戏balloon

    总的来说,这个“打气球小游戏balloon”利用了HTML5的Canvas、JavaScript、CSS3以及可能的Web Storage和Audio API,构建了一个完整的交互式游戏。它展示了HTML5在现代网页游戏开发中的强大功能,不仅提供了丰富的...

    类似打地鼠的打气球游戏

    【标题】:“类似打地鼠的打气球游戏”是一种基于快速反应和手眼协调的电子游戏,灵感来源于传统的打地鼠游戏。打地鼠游戏是儿童和成人都喜爱的经典娱乐活动,它要求玩家迅速击打从洞口冒出的地鼠。而这个“打气球”...

    基于Unity开发的流浪气球无尽探索小游戏C#源码.zip

    基于Unity开发的流浪气球无尽探索小游戏C#源码.zip基于Unity开发的流浪气球无尽探索小游戏C#源码.zip基于Unity开发的流浪气球无尽探索小游戏C#源码.zip基于Unity开发的流浪气球无尽探索小游戏C#源码.zip基于Unity...

    as3 随机飘动气球

    9. **发布和测试**:“气球3.swf”是最终的Flash影片文件,可以通过Flash Player在浏览器中运行,进行测试和展示。 以上就是AS3编写随机飘动气球涉及的主要技术点,通过这样的项目,开发者可以提升对AS3编程、图形...

    用MFC写的一个打气球的游戏

    《使用MFC开发打气球游戏的编程实践》 MFC(Microsoft Foundation Classes)是微软提供的一套面向对象的C++库,它基于Windows API,为开发者提供了构建Windows应用程序的便利框架。本项目是一个利用MFC编写的打气球...

    用c++编写的打气球的游戏,用MFC实现的

    在本项目中,开发者利用C++的特性构建了一个打气球的游戏,这展示了C++在游戏开发中的应用。游戏采用MFC(Microsoft Foundation Classes)框架进行开发,MFC是微软为Windows应用程序提供的一种API,它简化了窗口、...

    js实现打气球

    里面包括需求分析等,注释多于代码,大家可以更好地理解,互相学习,浏览器打开即可运行,相当于一个小游戏

Global site tag (gtag.js) - Google Analytics