博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Cocos2D地图用法简介

Posted on 2011-10-28 16:10  星尘的天空  阅读(334)  评论(0编辑  收藏  举报

最近开始学习Cocos2D游戏开发引擎,对于里面的地图的用法的理解:

CCTMXTititedMap,有两种格式的地图,一种是CCLayer的形式,一种是object对象的形式。之所以要写这篇文章,是因为这个Object对象层,因为在之前学习的时候,创建object对象,在地图上的表现形式总是一个方框,边框颜色为黄色,可是看别人的例子的时候,人家创建的object对象却是一个黄色的实心圆点,当时无论如何就是找到不到原因,在别人的帖子里面也没有找到为什么会这个样子,直到今天,直到今天,我在Xcode里面打开创建的TMX格式的地图,发现如下的代码:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE map SYSTEM "http://mapeditor.org/dtd/1.0/map.dtd">

<map version="1.0"orientation="orthogonal"width="27"height="20"tilewidth="32"tileheight="32">

 <tileset name="tmw_desert_spacing"firstgid="1"tilewidth="32"tileheight="32"spacing="1"margin="1">

  <image source="tmw_desert_spacing.png"/>

  <tile id="29">

   <properties>

    <property name="buildable" value="1"/>

   </properties>

  </tile>

 </tileset>

 <layer name="Background"width="27"height="20">

  <data encoding="base64"compression="gzip">

   H4sIAAAAAAAAAO2VTQuDMAyGy3A6P7YO3YYH3XE77v//uyXQgEiKpk178vAglZSnJi+2McY0AbTAWwjuewD9Tp6RLtxXAhVw2aivFVw3wAL3DK6Xc1n3/pvQRWu7Ua/p4vgou5Y9q4w/J5rfRRlBOuDqnmvXBJyEcGc8L3xIwbhC4fpBvtHTQw0X5YB66ZuX5F9D7Jnzj3GlyrxmDiWZmiNdue4U6XyJIcB1EM8ffzIN63AIAAA=

  </data>

 </layer>

 <objectgroup name="Objects" width="0" height="0">

  <object name="Waypoint0"x="887"y="292"/>

  <object name="Waypoint1"x="438"y="296"/>

  <object name="Waypoint2"x="429"y="22"/>

  <object name="Waypoint3"x="22"y="23"/>

  <object name="Waypoint4"x="24"y="493"/>

  <object name="Waypoint5"x="433"y="497"/>

  <object name="Waypoint6"x="437"y="337"/>

  <object name="Waypoint7"x="888"y="339"/>

 </objectgroup>

 <objectgroup name="Object_xc" width="0" height="0">

  <object name="Object1"x="64"y="128" />

  <object name="Object3"x="64"y="384" />

  <object name="Object2"x="64"y="256" />

 </objectgroup>

</map>

 

发现:别人创建的对象,都没有宽、高属性,而我创建的OBJECT却又属性,并且w=h=32,表示一个方格为32×32大小的。

于是我就将我创建的object的W、H属性删掉,然后保存。然后使用地图编辑工具打开,解决让我惊奇的现象发生了,我创建的点和别人例子讲的点已经变成一样的了,呵呵。

后来才明白,当我们在创建objct的时候,是需要设置宽、高参数的,如果设置为0,那么这个object就表示为一个黄色的点,如果设置宽、高为其他的值,那么就会在地图上面呈现一个指定宽高的方框,但是不管是实心的黄色圆点,还是一个带有黄色边框的指定大小的四边形,当iphone加载这个地图的时候,这些点均不在地图上面显示。

这些是用来设置碰撞点,也就是障碍物!

THE END !