我正在尝试在同一个屏幕上绘制两个精灵。我在两个单独的类文件中定义了两个sprite对象。
这是我第一堂课的实施档案:
#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
答案 0 :(得分:2)
您需要的高层次理解就是这个。一个屏幕包含一层或多层,一层包含精灵。
因此,创建一个屏幕,然后向其中添加一个图层,并将精灵添加到您创建的图层中。当然,可以有许多屏幕,屏幕可以包含许多层。但是在一个简单的演示游戏中,创建1个屏幕,1个图层,并为该图层添加精灵。
有关详细信息,请参阅此链接http://www.cocos2d-iphone.org/wiki/doku.php/prog_guide:basic_concepts。
答案 1 :(得分:0)
我对Cocos2d不熟悉,但正常的模式是拥有一个既拥有游戏屏幕又拥有敌人精灵并同时管理它们的对象。