我想为侧滚动游戏添加背景,该游戏以不同的速率移动到主游戏层。最好的方法是什么?我可能想要2个背景图层,每个图层的滚动速度都比另一个慢,以便在玩家移动时给出深度感。
此外,创建图层并直接控制图层的最佳方法是什么?目前创建了一个图层但我无法在代码的其他部分访问它。这就是我默认使用的方式,这就是我使用的方式:
+(CCScene *) scene
{
// 'scene' is an autorelease object.
CCScene *scene = [CCScene node];
// 'layer' is an autorelease object.
HelloWorldLayer *layer = [HelloWorldLayer node];
// add layer as a child to scene
[scene addChild: layer];
// return the scene
return scene;
}
由于
答案 0 :(得分:1)
CCParallaxNode对你有好处。
// background layer: another image
CCSprite *background = [CCSprite spriteWithFile:@"background.png"];
background.scale = 1.5f;
background.anchorPoint = ccp(0,0);
// create a void node, a parent node
CCParallaxNode *voidNode = [CCParallaxNode node];
[voidNode addChild:background z:-1 parallaxRatio:ccp(0.4f,0.5f) positionOffset:CGPointZero];
[voidNode addChild:tilemap z:1 parallaxRatio:ccp(2.2f,1.0f) positionOffset:ccp(0,-200)];
[voidNode addChild:cocosImage z:2 parallaxRatio:ccp(3.0f,2.5f) positionOffset:ccp(200,800)];
[self addChild:voidNode];
在Cocos2D样本中引用ParallaxTest。