快速业务通道

基于 Flash ActionScript 1.0 编写的挡板游戏

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-12


作者:Pom 翻译:ShuhanKuang 本文章发表已经获得作者的允许, 原文章地址:http://www.kirupa.com/developer/actionscript/pongout.htm P/S:里面的教程都很棒的,有兴趣的可以到那里学习学习。^_^。还就是翻译过程中难免出现错误,希望指出和更正。(总文件在7楼) 正如你所知,在Flash中有很多方法检测碰撞的,有一个方法叫hitTest(),在自带字典里有两中解释: myMovieClip.hitTest(target) // 电影剪辑和电影剪辑的检测 myMovieClip.hitTest(x, y, shapeFlag) //点和电影剪辑的检测 如果你曾经用过这两个个方法,你肯定会发现它的局限:第一函数,只能检测两个包含剪辑的最小框的碰撞,(图中包含剪辑的蓝色矩形),在我下面做的简单的示例中,你可以得知当剪辑不是规则的矩形的时候,这样的检验是没有什么作用的,(例如两个圆,或两条角度不同的直线)。 (图1按此在新窗口浏览图片 你可以得到这个结论,FLASH检测了“非”碰撞。(“非”这里是自己想的,毕竟水平有限不知道怎么解释好) 第二个函数能进一步准确地检测碰撞,但它只局限在一个电影剪辑和点的范围内。 下面还有一个关于hitTest()方法的问题。我将它叫做“Where-did-my-hitTest-go?”(消失的碰状?~_~翻译过来不好听的,呵呵),让我们尝试检测一个球和一面墙(这里用垂直的线表示)是否发生了碰状。 (图2
按此在新窗口浏览图片 你可以从上面的图看出,在每一帧中都没发生物理的碰状,就算球已经穿过了墙壁,这是因为碰状是基于帧检测的。很幸运地,这个问题可以得到解决,或者至少可以说这个问题不会在我们做游戏过程中带来太多的麻烦。心急了吧?那么让我们开始有趣的部分吧:) 游戏: 我们要做的事是创建一个简单的PONG游戏,那么先看看下面的一个简单的例子,你可以测试一下效果:)
点击浏览该文件
点击开新窗口欣赏该FLASH动画![全屏欣赏]
点击浏览该文件
http://www.flash8.net/bbs/UploadFile/2005-1/200513015317586.swf 当你看到第一个原文件(名字叫pong_00.fla),你可以发现里面只有两层: 1code,里面调用了一个外部的AS文件 2object ,里面包含了一个名为bar的挡板和名为ball的球 可能有一部分的人不那么熟悉#include的语法,通过运用这个语法好处就是,你能用外部编辑器修改你的代码,例:如Scite|FlashSE|PY,而不局限在FLASH的动作面板,如果你曾经过这个语法,那么给你带来的结果一定不会让你失望的,当然,如果你不喜欢用这个方法,那么你就要删去#include这一句和复制代码到FLASH的动作面板里面。 为了保证代码的简洁和容易更新,我们应该为我们的游戏写一些简单的类。(这里用的是as1.0,如果你有时间和想要训练自己,建议你将代码写成2.0的)。但是先不要害怕,你没必要熟悉了oop(面向对象编程)才能看明白这个游戏的代码。 关键词:
  • 1
  • 2
  • 下一页
【内容导航】
第1页:基于 Flash ActionScript 1.0 编写的挡板游戏 第2页:基于AS1.0的挡板游戏-游戏类

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号