.tmx マップ内の特定のタイルのピクセル単位の位置を見つけようとしています。CCTMXLayer クラスの positionAt: メソッドでうまくいくはずですが、使用しようとすると座標 (0,0) の CGPoint が返されます。これは、私が使用しているコードの一部です。
// CCTMXTiledMap Declaration using my class MapLayer
//which inherits from CCTMXTiledMap
MapLayer *tileMap = [MapLayer node];
CCTMXLayer *myLayer = [tileMap layerNamed: @"Middle"];
NSLog(@"%i", [myLayer positionAt: CGPointMake(x,y)].x);
NSLog(@"%i", [myLayer positionAt: CGPointMake(x,y)].y);
CGPointMake の x と y の値に関係なく、CGPoint (0,0) の値がログに記録され続け、その理由がわかりません。
編集:
マップが間違っているとレイヤーを宣言しているだけですか? これは私のコードです。
//init method for MapLayer.m class file
@implementation MapLayer
-(id) init {
if( (self=[super initWithTMXFile: @"ZombearTilemap.tmx"])) {
}
return self;
}
//in my MainScene.m class init method
MapLayer *tileMap = [MapLayer node];
[self addChild: tileMap];
CCTMXLayer *tileMapLayer = [tileMap layerNamed: @"Middle"];
// (tileMapLayer == nil) returns false
//tileMap.mapSize.width returns 0
//[[tileMapLayer tileAt:ccp(x,y)] boundingBox].size.height returns 0