快速业务通道

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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

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号