目前我通过以下方法添加背景。如何修改背景以便它自动滚动tilemap。
- (void)setupParallax {
NSString *backgroundName = [self.tilemap propertyNamed:@"BackgroundImage"];
CCSprite *background = [CCSprite spriteWithFile:[AssetHelper
getDeviceSpecificFileNameFor:[NSString stringWithFormat:@"background-%@.png",backgroundName]]];
background.anchorPoint = ccp(0,0);
background.position = CGPointMake(0, 0);
[self addChild:background z:0];
}
答案 0 :(得分:1)
您可以使用CCParallaxNode
。您的背景和地图将成为parallaxNode的子项,当您移动它时,它的子项将自动相应移动。假设背景应该在地图后面,代码将看起来像这样.-
CCParallaxNode *voidNode = [CCParallaxNode node];
[voidNode addChild:background z:10 parallaxRatio:ccp(0.8f, 0.8f) positionOffset:ccp(0, 0)];
[voidNode addChild:map z:20 parallaxRatio:ccp(1.0f, 1.0f) positionOffset:ccp(0, 0)];
[self addChild:voidNode];
ParallaxRatio
将根据ParallaxNode
移动设置每个图层的速度:
(1.0, 1.0)
表示地图将以与x和y中的voidNode相同的速度移动。(0.8, 0.8)
表示后台移动速度比ParallaxNode