エラー メッセージを返し続けるコードが少しありますが、何が問題なのかわかりません。私はObjective-c構文にかなり慣れていないので、かなり単純なものかもしれませんが、問題を見つけることができないようです。その方法は
-(void)setPlayerPosition:(CGPoint) position {
CGPoint tileCoord = [self tileCoordForPosition:position];
int tileGid = [metaLayer tileGIDAt:tileCoord];
if (tileGid) {
NSDictionary *properties = [tileMap propertiesForGID:tileGid];
if (properties) {
NSString *collision = [properties valueForKey:@"Collidable"];
if (collision && [collision compare:@"True"] == NSOrderedSame) {
return;
}
NSString *collectable = [properties valueForKey:@"Collectable"];
if (collectable && [collectable compare:@"True"] == NSOrderedSame) {
[metaLayer removeTileAt:tileCoord];
[foreground removeTileAt:tileCoord];
}
}
}
player.position = position;
}
2行目に無効な初期化子というエラーが返され、クラスが「tileCoordForPosition:」に応答しない可能性があることも示されています。