【转】http://blog.csdn.net/u010778159/article/details/44036365

首先利用TiledMap在原来的地图上添加上障碍物,先新建两个图层,分别叫barrier和meta2,如下

《跑跑跑》(五)——添加障碍物,Tiled障碍层的使用-LMLPHP

选中barrier,然后利用图块中的素材,在地图上画障碍物,如图:

《跑跑跑》(五)——添加障碍物,Tiled障碍层的使用-LMLPHP

嗯....在地图上一坨坨的就是所说的障碍物。

但是如果现在保存,重新运行项目的话,可以发现这些障碍物并不能阻碍主角前进

所以才需要用到meta2图层,先加载下面的图块:

《跑跑跑》(五)——添加障碍物,Tiled障碍层的使用-LMLPHP(命名为meta2)

右键红色方块,点击”图块属性“,在属性中添加属性Colliadable,值改为true

选中meta2对象层,然后用meta2图块中的红色方块填涂之前添加的障碍物

然后保存!

接下来,我们修改代码

Player.h

《跑跑跑》(五)——添加障碍物,Tiled障碍层的使用-LMLPHP

meta2,就是刚刚在TileMap中创建的对象层

tileCoordForPosition()函数是将cocos2d中的坐标转换成在TiledMap中的格子坐标

《跑跑跑》(五)——添加障碍物,Tiled障碍层的使用-LMLPHP

《跑跑跑》(五)——添加障碍物,Tiled障碍层的使用-LMLPHP

在setTiledMap中获取meta2对象层,并设置为不可见(红色方块)

接下来修改setTagPosition函数,来判断主角前方是否可通行

《跑跑跑》(五)——添加障碍物,Tiled障碍层的使用-LMLPHP

《跑跑跑》(五)——添加障碍物,Tiled障碍层的使用-LMLPHP

05-11 18:26