当游戏主角可以满屏幕奔跑的时候,接下来我们需要给主角增加一点难度了,让奔跑更有趣、更有挑战。

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


1.jpg

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


2.jpg

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

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

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


3.jpg

(命名为meta2)

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

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

然后保存!

接下来,我们修改代码。

Player.h


4.jpg

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

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


5.jpg


6.jpg

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

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


7.jpg


8.jpg