CCParallaxNode を使用して 3 つの背景をスクロールし、Ray Wenderlich のカテゴリを使用して、背景が画面外に出たときに背景を移動しています。
私の問題は、5秒ごとのように、その場でチャイルド(エニミー)を追加したいということです。通常、私は CCMoveTo アクションを使用して親レイヤーに敵を追加して、画面上で敵をアニメーション化しますが、敵が視差レイヤーの前景をたどるようにします。
ゲームが進行するにつれて、スクロール速度をゆっくりと上げています。
呼び出すときに正しいオフセットがわからないようです
CGFloat offset = self.gameBackground.position.x;
[self.gameBackground addChild:enimy z:5 parallaxRatio:ccp(0.1, 0.1) positionOffset:ccp(offset, 85)];
誰かがこれで私を助けることができますか?
編集:
背景を移動するためにこれを行っています:
- (void)update:(ccTime)delta
{
self.speed -= 0.5f;
CGPoint backgroundScrollVel = ccp(self.speed, 0);
self.gameBackground.position = ccpAdd(self.gameBackground.position, ccpMult(backgroundScrollVel, delta));
}
ありがとう
レイズの記事: http://www.raywenderlich.com/3611/how-to-make-a-space-shooter-iphone-game
最終的解決:
視差の代わりに CCLayer にエニミーを追加するだけになりました。視差の最前層の子と同じ速度で敵を移動するには、次のことを行いました。
更新中:(ccTime)delta:
CGFloat parallaxRatio = 0.1f;
CGPoint backgroundScrollVel = ccp((self.backgroundSpeed * - 1) * parallaxRatio, 0);
for(WKEnimy *enemy in self.enimies)
{
enemy.position = ccpAdd(enemy.position, ccpMult(backgroundScrollVel, delta));
}