Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 如何在Cocos和box2d中添加独立于主层移动的背景图像_Xcode_Background_Cocos2d Iphone_Box2d_Layer - Fatal编程技术网

Xcode 如何在Cocos和box2d中添加独立于主层移动的背景图像

Xcode 如何在Cocos和box2d中添加独立于主层移动的背景图像,xcode,background,cocos2d-iphone,box2d,layer,Xcode,Background,Cocos2d Iphone,Box2d,Layer,我想添加一个背景到一个侧滚游戏,以不同的速度移动到主游戏层。最好的方法是什么?我可能需要2个背景层,每个滚动比另一个慢,以便在玩家移动时提供深度感 另外,创建图层并对其进行直接控制的最佳方法是什么?目前,一个图层已经创建,但我无法在代码的其他部分访问它。默认情况下是这样做的,这是我使用的方式: +(CCScene *) scene { // 'scene' is an autorelease object. CCScene *scene = [CCScene node]; // 'layer'

我想添加一个背景到一个侧滚游戏,以不同的速度移动到主游戏层。最好的方法是什么?我可能需要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;
}

谢谢

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样本中的视差测试。

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样本中的视差测试。

谢谢Raj。有没有关于如何访问某一层的建议?请参阅我的回答,谢谢Raj。有没有关于如何访问某一层的建议?请参阅本文中的答案