位置: 编程技术 - 正文

cocos2d-x游戏实例(4)-地图碰撞(cocos2dx小游戏)

编辑:rootadmin

推荐整理分享cocos2d-x游戏实例(4)-地图碰撞(cocos2dx小游戏),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos2dx游戏案例,cocos2d游戏源码,cocos2dx小游戏,cocos做游戏,cocos2dx游戏开发教程,cocos2dx游戏案例,cocos2dx游戏案例,cocos2dx游戏开发教程,内容如对您有帮助,希望把文章链接给更多的朋友!

小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址 我觉得这个更适合度角的地图,因为如果使用后一种办法,把所有的图素宽放在一层里的话,会有遮挡这个问题的,当然不是说第二种不能只不过我们把地图的碰撞图素放在一层里我们会把相应的表现图素放在新的一层里,所以还是要分层。

首先看第一种情况的地图,如下图

就是新建一层Tree层,把所有的树(这里不能碰撞的图素),grass层铺满草,这里人可以在草中移动,检测碰撞的代码如下:

首先通过convertto2d函数获得主角在地图上的索引&#;,这里为了方便,我把索引&#;也做成CCPoint的类型了,但是事实上,它并不是一个CCPoint,然后获得Tree层,然后根据索引及tileAt函数获得在该位置的图素,如果他不为空,则证明这个位置是不可碰撞的,那么我们就回滚刚才的移动位置操作,并停止该位置的移动即可。这种方法解决起来相对简单。

2.地图GID及属性法

cocos2d-x游戏实例(4)-地图碰撞(cocos2dx小游戏)

这种方法应该是更为“正统”的,首先在地图上建一层,如下

只是建一层,然后我们在图素上新建属性,我们建一个叫“conflict”属性,并为他设定不同的&#;即可。

我们把不可碰得设为1,把可碰的设为0。代码如下:

我们首先或取GID,其实我们可以根据gid直接判断哪些可碰哪些不能通过。但是为了演示如何获得属性,我们还有之后的代码,通过gid获得属性,属性是一组键&#;对,然后获得conflict&#;,这样我们就可以判断了

如有错误之处,希望大家多多指正

下一篇继续游戏实例

cocos2d-x中的box2d(4)-DumpShell 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

cocos2d-x中的box2d(5)-Gear 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

cocos2d-x初探学习笔记()--CCMutableArray 小满(billman)个人原创,欢迎转载,转载请注明地址,小满(billman)的专栏地址

本文链接地址:https://www.jiuchutong.com/biancheng/372687.html 转载请保留说明!

上一篇:cocos2d-x游戏实例(3)-获得地图索引(cocos2d rpg)

下一篇:cocos2dx3.2开发 RPG《Flighting》(九)必不可少的子弹(cocos游戏开发教程)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络