Инициализация нескольких подклассных спрайтов одного и того же вида в Cocos2D из Tiled - PullRequest
0 голосов
/ 01 июня 2011

Я пытаюсь найти наилучший способ инициализации нескольких спрайтов, размещенных в 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);

Как видите, мой «герой» находится в подклассе, и это относится к другому спрайту, который является птицей, но я хочу х их количество.Я импортирую заголовок HeroClass и создаю указатель, создаю свойство и синтезирую его в своем основном файле и, наконец, выпускаю HeroClass в dealloc.У меня есть чувство, что я, скорее всего, в конечном итоге буду использовать 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:

Как инициализировать спрайты из того же класса в CCLayer (который отображает мою карту и другие спрайты) на основе определенных местоположений объектов, которые былипомещены на карту Tiled TMX?

1 Ответ

0 голосов
/ 02 июня 2011

Я бы предложил создать класс противника. Затем вы создаете их несколько, используя цикл for. Что касается точек возрождения, у каждого врага должна быть собственная точка возрождения, основанная на правилах. (Границы карты, «безопасные районы» и т. Д.)

...