Я пытаюсь нарисовать два спрайта на одном экране. Я определил два объекта спрайта в двух отдельных файлах классов.
- Если я закомментирую две строки (см. Комментарий к пункту 1 ниже), я получу отображение в виде [backgroundimage [background2.jpg] со спрайтом [grossini.png] на левой стороне.
- Если я раскомментирую две строки, я не получу фоновое изображение и спрайт (gameScreen.m). Я получаю только спрайт [grossinis_sister1.png], определенный в (врага.m).
- Но мне нужны [backgroundimage [background2.jpg]], спрайт [grossini.png] и спрайт [grossinis_sister1.png] на одном экране.
Это файл реализации моего первого класса:
#import "gameScreen.h"
#import "enemy.h"
@implementation gameScreen
-(id)init
{
if((self = [super init]))
{
CCSprite *backGroundImage = [CCSprite spriteWithFile:@"background2.jpg"];
backGroundImage.anchorPoint = ccp(0,0);
CCParallaxNode *voidNode = [CCParallaxNode node];
[voidNode addChild:backGroundImage z:-1 parallaxRatio:ccp(0.0f,0.0f) positionOffset:CGPointZero];
[self addChild:voidNode];
CGSize windowSize = [[CCDirector sharedDirector] winSize];
CCSprite *player = [CCSprite spriteWithFile:@"grossini.png"];
player.position = ccp(player.contentSize.width/2, windowSize.height/2);
[self addChild:player z:0];
//eSprite = [[enemy alloc]init]; //<-- see item 1
//[self addChild:eSprite];
}
return self;
}
Это мой файл реализации моего второго класса:
#import "enemy.h"
#import "gameScreen.h"
@implementation enemy
-(id)init
{
if ((self = [super init]))
{
CGSize windowSize = [[CCDirector sharedDirector] winSize];
CCSprite *enemySprite = [CCSprite spriteWithFile:@"grossinis_sister1.png" ];
enemySprite.position = ccp(windowSize.width/2, windowSize.height/2);
[self addChild:enemySprite];
}
return self;
}
@end