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

 

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

20150303115743231

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

 

20150303115957734

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

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

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

20150303120249527(命名为meta2)

 

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

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

然后保存!

接下来,我们修改代码

Player.h

20150303115232509

 

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

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

20150303115506917

20150303115513455

 

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

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

20150303121228508

20150303121214960

posted on 2016-10-29 09:56  siegel  阅读(997)  评论(0编辑  收藏  举报