0

私が現在取り組んでいる cocos2d ゲームでは、特定のスプライトが画面の右側に作成され、一定のペースで左に移動し、画面から消えると削除されます。

これはうまくいきます。しかし、画像が画面の左側に当たると、ビートがスキップされ、完全に続きます。

私のゲームでこれを行う 1 つの要素が 2D プロシージャル テレインであるため、これは非常に顕著です。私のゲームは無限に長い一連の丘を生成しますが、これはかなり小さなチャンクで行われます。これらのチャンクは次々に配置され、一緒に画面上を移動します。しかし、チャンクの左端が画面の左端に当たると、数ピクセル遅れてオーバーラップが発生します。

次のコードを使用してチャンクを移動します。

Chunk.position = CGPointMake(Chunk.position.x - panSpeed, Chunk.position.y);

なぜこれが起こるのでしょうか?

4

1 に答える 1

0

更新のタイム デルタを考慮していないようです。CCMoveToアクションのコードを見てください。

-(void) update: (ccTime) t
{   
    [target_ setPosition: ccp( (startPosition.x + delta.x * t ), (startPosition.y + delta.y * t ) )];
}
于 2012-04-22T02:50:51.783 に答える