内容の保証はできません。


#import <TMXTiledMap.h>

クラス TMXLayer

CocosNodeTexture?プロトコルを実装している.

NSObject
  |
  +--CocosNode?
      |
      +--AtlasSpriteManager?
          |
          +--TMXLayer

概要

このクラスはTMXのレイヤーを表しています。

AtlasSpriteManager?のサブクラスであるため、それぞれのタイルがAtlasSprite?で表現されています。

AtlasSprite?オブジェクトをタイルとして利用する利点:

  • タイルを簡単なAPIで回転・拡大縮小・移動できる

タスク

- initWithTilesetInfo:layerInfo:mapInfo:
- releaseMap
- addTileForGID:at:
- tileAt:
- tileGIDAt:
- setTileGID:at:
- removeTileAt:
- positionAt:
+ layerWithTilesetInfo:layerInfo:mapInfo:
layerName property
layerSize property
mapTileSize property
tiles property
tileset property
layerOrientation property

プロパティ

layerName

レイヤーの名前.

@property (nonatomic,readwrite,retain) NSString *layerName;

layerOrientation

マップの向きと同じ、レイヤーの向き.

@property (nonatomic,readwrite) int layerOrientation;

layerSize

タイルのレイヤーのサイズ.

@property (nonatomic,readwrite) CGSize layerSize;

mapTileSize

マップタイルのサイズ(タイルのサイズと異なることもある).

@property (nonatomic,readwrite) CGSize mapTileSize;

tiles

タイルマップへのポインタ.

@property (nonatomic,readwrite) unsigned int *tiles;

tileset

レイヤーのタイルセットの情報.

@property (nonatomic,readwrite,retain) TMXTilesetInfo *tileset;

クラスメソッド

layerWithTilesetInfo:layerInfo:mapInfo:

タイルセット情報、レイヤー情報、マップ情報を指定してTMXレイヤーを生成する.

+ (id) layerWithTilesetInfo: (TMXTilesetInfo *) tilesetInfo
    layerInfo: (TMXLayerInfo *) layerInfo
    mapInfo: (TMXMapInfo *) mapInfo

インスタンスメソッド

addTileForGID:at:

座標とGIDを指定してタイルを追加する.タイルはその座標が属するタグとzオーダーを持って追加される.

- (AtlasSprite *) addTileForGID: (unsigned int) gid
    at: (CGPoint) pos

initWithTilesetInfo:layerInfo:mapInfo:

タイルセット情報、レイヤー情報、マップ情報を指定してTMXレイヤーを初期化する.

-(id) initWithTilesetInfo:(TMXTilesetInfo *) tilesetInfo
    layerInfo: (TMXLayerInfo *) layerInfo
    mapInfo: (TMXMapInfo *) mapInfo

positionAt:

指定したタイル座標をピクセル単位にして返す.

- (CGPoint) positionAt: (CGPoint) tileCoordinate

releaseMap

メモリからタイルの位置関係を含むマップを解放する.ランタイムとして、タイルの位置関係を知りたい場合を除き、このメソッドを安全に呼び出すことができる.もし、[layer tileGIDAt:]をコールする予定がある場合、マップを解放してはならない.

- (void) releaseMap

removeTileAt:

指定した座標のタイルを削除する.

- (void) removeTileAt: (CGPoint) tileCoordinate

setTileGID:at:

指定した座標に指定したGID(グローバルID)のタイルを設定する.タイルのGIDは"tileGIDAt"メソッドを使用するか、"TMXエディタ -> Tileset Mgr +1"を使用することにより取得できる.指定した位置に既にタイルがある場合には、そのタイルは削除される.

- (void) setTileGID: (unsigned int) gid
    at: (CGPoint) tileCoordinate

tileAt:

指定した座標のタイル(AtlasSprite?)を返す.

- (AtlasSprite *) tileAt: (CGPoint) tileCoordinate

tileGIDAt:

指定した座標にあるタイルのGIDを返す.返り値が0の場合、そこにはタイルが無いことを意味する.このメソッドを呼び出すには、解放されていないマップが必要になる.(例:このメソッドを呼び出す前に[layer releaseMap]を呼び出してはならない)

- (unsigned int) tileGIDAt: (CGPoint) tileCoordinate


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-10-24 (日) 17:14:26 (2583d)