0

在我目前正在开发的 cocos2d 游戏中,我在屏幕右侧创建了某些精灵,以固定的速度向左移动,然后在它们离开屏幕后被移除。

这很好用。但是当图像到达屏幕的左侧时,它会跳过一个节拍,然后完美地继续。

这真的很明显,因为我的游戏中的一个元素就是 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 回答