我正在试图找出初始化Tiled中放置的多个精灵的最佳方法。我甚至不知道如何从Tiled开始,因为我只习惯通过填写名称字段来初始化一个精灵,然后在我的CCLayer中使用地图我做了类似的事情
CCTMXObjectGroup *objects = [theMap objectGroupNamed:@"oj"];
NSMutableDictionary *startPoint = [objects objectNamed:@"StartPoint"];
int x = [[startPoint valueForKey:@"x"] intValue];
int y = [[startPoint valueForKey:@"y"] intValue];
hero = [[HeroClass alloc] init];
[self addChild:hero.heroSpriteSheet];
hero.heroSprite.position = ccp(x,y);
正如你所看到的,我的“英雄”是子类,这适用于另一个鸟类的精灵,但我想要它们的x量。我导入HeroClass的头并创建一个指针,创建一个属性并在我的主文件中合成它,最后在dealloc中释放HeroClass。我有一种感觉,我很可能最终会使用NSMutableArray,但我真的不知道如何在子类化的情况下。另外我不确定我是否会使用objectNamed:@“name”因为我将拥有x个这些精灵,我将在整个Tiled中复制。
这里有一篇有用的帖子,展示了如何添加多个精灵,但我不知道如何将它与Tiled或子类化联系起来: http://www.iphonedevsdk.com/forum/iphone-sdk-game-development/58334-adding-sprites-screen-when-detecting-tap-cocos2d.html
有没有人有任何有用的指针或代码示例,如何解决我的问题?谢谢!
TLDR:
如何基于放置在Tiled TMX地图中的明确对象位置来初始化CCLayer(渲染我的地图和其他精灵)中同一个类的精灵?
答案 0 :(得分:0)
我建议创建一个敌人类。然后,使用for循环创建一堆它们。对于生成点,你可以让每个敌人根据规则设置自己的生成点。 (映射边界,“安全区域”等)