У меня есть этот код в моем init:
-(id)init {
if ((self = [super init])) {
CGSize screenSize = [CCDirector sharedDirector].winSize;
mapSize = CGSizeMake(4000, 4000);
rotateWorld = [CCNode node];
[rotateWorld setContentSize:mapSize];
rotateWorld.position = CGPointMake(screenSize.width / 2, screenSize.height / 2);
positionWorld = [CCNode node];
[positionWorld setContentSize:mapSize];
positionWorld.position = CGPointMake(mapSize.width / 2, mapSize.height / 2);
[rotateWorld addChild:positionWorld z:0];
[self addChild:rotateWorld z:0];
// Test enemy
[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"EnemiesSpritesheet.plist"];
spriteSheetNonPlayer = [[CCSpriteBatchNode alloc] initWithFile:@"EnemiesSpritesheet.png"capacity:10];
[positionWorld addChild:spriteSheetNonPlayer z:0];
enemy = [[Enemy_01 alloc] initWithSpriteFrame:[[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:@"enemy_01_01.png"]];
enemy.position = CGPointMake(mapSize.width / 2, mapSize.height / 2);
[spriteSheetNonPlayer addChild:enemy];
}
return self;
}
Теперь я ожидаю, что мой вражеский спрайт появится в середине экрана, но это не так, и я не знаю, показывается ли он вообще. Самое смешное, что если я изменю positionWorld с CCNode на CCSprite, содержащий фоновое изображение 4000x4000, он будет работать отлично, но почему бы не использовать CCNode с установленным contetSize? Как мне заставить это работать с CCNode?
Спасибо
Сорен