flash游戏制作:2D游戏视角的常见碰撞检测方法
作者 佚名技术
来源 平面设计
浏览
发布时间 2012-06-02
引文 flash游戏制作因为有不能用GPU或使用GPU有限(Player10之后版本能使用硬件加速,但是有限)、必须使用avm虚拟机以及as语言较基层接口的高健壮性,其效率是低于其它主流语言的;flash游戏的主要发布方法为网页游戏,同时考虑玩家浏览心情,在大部分情况下,flash不适合制作大型游戏,特别是3D游戏 2D游戏的视角可划分为4种: 1,横版游戏(侧视) 类似魂斗罗(第二、四关不算)、超级玛丽一类视角 2,纵版游戏(俯视) 类似赤色要塞、普通rpg的地图移动一类视角,此类包含“2.5D游戏”即45度旋转视角地图。魔兽争霸和红色警戒虽然用了3D的表现方式,但是其游戏并不如cs那样依赖3D,应归入此类 3,伪3D游戏 类似极品飞车的视角,看起来可Z轴旋转,但是不是使用3D引擎,而是用了多角度拍照等方法模拟的3D,不包括2.5D 4,无规则2D视角 取决于具体游戏,例如比较著名的《机械迷城》这个2D解谜游戏虽然用横版作为表现形式,但是没有依赖任何横版的东西,所有移动都是动画,不能划分到上面的任意一个里面。 对2D游戏 flash自带了3种专为碰撞准备的接口,即: DisplayObject/hitTestObject(targetisplayObject) //as2的MovieClip/hitTest(target:MovieClip) //此碰撞应用简单,但是只能检测边框的碰撞,不适合绝大多数游戏 DisplayObject/hitTestPoint(x:Number,y:Number,shapeflag:Boolean=false) //as2的MovieClip/hitTest(x:Number,y:Number[,shapeflag]) //检测具体图形和点的碰撞,比前者强大。能直接适应部分游戏,大部分时候需要封装一下后才能用 BitmapData/hitTest(参数略) //功能非常强大。鉴于BitmapData必须先取图,以及其效率取决于取图大小,必须封装后使用第一种横版游戏的碰撞部分决于具体游戏。另有强大免费的box2d引擎可以使用。 第三、四种游戏碰撞部分极其取决于具体游戏,很难找到规律。 而第二种,俯视游戏的碰撞是大同小异的,可以用上述的3个接口和一些原创代码解决问题。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于flash游戏制作:2D游戏视角的常见碰撞检测方法的所有评论