1

メインゲームレイヤーに異なる速度で移動する横スクロールゲームに背景を追加したいと思います。これを行うための最良の方法は何でしょうか?プレーヤーが動いたときに奥行き感を与えるために、それぞれが他よりもゆっくりとスクロールする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;
}

ありがとう

4

1 に答える 1

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を参照してください。

于 2012-11-17T13:17:36.217 に答える