as3.0游戏开发之打气球系列.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
as3.0游戏开发之打气球系列 好久没有写正经的文章了,这次打算写个打气球的文章,分为几部分写,其实是想写细点,其中很多方法,会扩展开讲.具体的提纲为以下: 1,瞄准镜的产生 (类似attachMovie在AS3中该如何表现?) 2,飞翔的气球 (怎么飞?随机飞,随机速度又怎么表现?该如何记时?) 3,打气球 (怎么算打中?打中后,气球爆炸怎么表现?声音呢?) 4,给我个计数器 (计算打中的,飞走的,甚至击中概率) 5,成与败 (怎么算胜利?怎么算失败?如何表现) 6,完善 (结尾) -------------------------------------------------------------------------------- 1,瞄准镜的产生 (类似attachMovie在AS3中该如何表现?) 刚开始看AS3.0,估计从AS2过来的人都会有这样的慌张,attachMovie这么命令没了,那我怎么能把库里的实例弄出来呢?层次又该怎么办?别慌张,我们从打气球的游戏制作慢慢讲. 首先在舞台上画一个圆圈加十字线,就当是瞄准镜.但是这里有两种画法,第一种是十字线相交,第二种是十字线不相交,如下图. 为什么我要说有两种呢?因为这两种用发不同,后面我会讲到.不过这里我用的是不相交的那种瞄准镜.我们把这个瞄准镜做成实例命名aim ,扔到库里,并把舞台上的删除.接着按F11,弹出库面版,右键点aim,然后点Linkage,然后如下图选择填写: 接着回到舞台,按F9,在动作面板里写下如下代码: var aims:MovieClip; aims= new aim(); addChild(aims); 以上代码就是像类似AS2里的attachMovie就可以把库里的实例用Linkage给调用到舞台上.如果你要调用其他的实例,都可以这么做,不过就是命名不同而已.如果在封装类里写,形式也是同样的. AS3讲究容器,所以需要addChild这语句把当前的实例放到容器里.这样瞄准镜就出现了在舞台上,但是我们的要求不单单如此,我们需要那个瞄准镜头跟着鼠标动.那么继续以下代码: Mouse.hide(); stage.addEventListener(MouseEvent.MOUSE_MOVE,aimMove); function aimMove(e:MouseEvent):void{ aims.x = this.mouseX; aims.y = this.mouseY; } 我们需要鼠标就是瞄准镜,那么原来那个箭头图需要取消,所以用了hide,然后舞台上要监听鼠标移动.然后根据监听,把当前的鼠标位置传达给瞄准镜.这样,我们第一部分就完成了,很简单. 下载: -------------------------------------------------------------------------------- 2,飞翔的气球 (怎么飞?随机飞,随机速度又怎么表现?该如何记时?) 武器有了,那么该是猎物出现了.气球该出来了,不过,我们先停下,思考一下气球该怎么出来?当然是从下往上飞,然后呢?一下子飞出来几个?共要飞几个?那就一秒一个吧,共飞10个.好了,先思考到这里.等下继续.不过别忘了,先在舞台上画个气球.然后按照第一步所写的,扔到库里. 一秒一个,共飞10个,那么我们就要用到TIMER类,这个是AS2没有的,代码如下: var t:Timer; var ballNumber:uint = 10; t = new Timer(1000,10); t.addEventListener(TimerEvent.TIMER,ballgo); t.start(); 这样一秒一个,共10个算是写出来了,不过还没完,每秒调用时间时,我该干点啥还没写呢,继续: var balls:MovieClip; function ballgo(e:TimerEvent):void { balls = new ball(); addChild(balls); //小球随机出现在Y轴300的地方,主要是为了方便查看,是否调用成功. balls.x = stage.stageWidth*Math.random(); balls.y = 300; } 这样,小球就挨个的以每秒一个出现在舞台上,但是我们还不满足,毕竟那是气球啊,应该向上飞的.好,

文档评论(0)

huayagonga + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档