【cocos2dx】Tiledを利用する際の「タグ」についての注意点

【cocos2dx】Tiledを利用する際の「タグ」についての注意点
   

昨日、タイルマップを作成している時に悩んだことを書きます。
cocos2dxでTiledで作成したタイルマップを利用する際の注意点があります。
それは、Tag(タグ)です。




TagがCCTMXLayerに自動的に割り振られる?

おそらくなんですがCCTMXTiledMapクラスを使いタイルマップを利用する際に、CCTMXLayerに自動的にタグが割り振られています

Tiledでは、以下のように複数CCTMXLayerを利用します。
また、PlayerやEnemyなどのオブジェクトも配置できます。
2013-7-9-dds.png

ここからは、自分が検証して間違いないと思うのですが、レイアーには0から順番にタグが割り振られているみたいです。
スクリーンショット 2013 07 09 5 46 3

オブジェクトにタグを付ける時には注意しよう

以上のようなことを考えての注意点は、レイアーではなく、オブジェクト側にあります。
私はPlayerを取り出すために、専用のタグを設置していたのですが、これがレイアーのタグと被ってしまった上手く動作ができていませんでした。

//このような感じでタグを割り当ててました
enum{
    
    kTagEnemy = 1,
    kTagItem = 2,
    kTagPlayer = 3,
    kTagPerson =4,
    
};

ですので、タグを付ける際には、もう少し大きい数字を割り振るなどの工夫が必要です。

Related Posts Plugin for WordPress, Blogger...