在我目前正在制作的cocos2d游戏中,我在屏幕右侧创建了一些精灵,以固定的速度向左移动,然后在离开屏幕后移除。
这很有效。但是当图像到达屏幕的左侧时,它会跳过一个节拍然后继续完美。
这是非常值得注意的,因为我的游戏中的一个元素就是2d程序性地形。我的游戏产生了一个无限长的山丘,它以相当小的块来完成。这些块紧接着彼此放置并一起移过屏幕。但是当一个块的左边缘碰到屏幕的左边缘时,它会延迟几个像素,并导致一个难看的重叠。
我使用以下代码移动块:
Chunk.position = CGPointMake(Chunk.position.x - panSpeed, Chunk.position.y);
为什么会这样?
答案 0 :(得分:0)
看起来您没有考虑更新中的时间差异。
查看CCMoveTo
操作的代码:
-(void) update: (ccTime) t
{
[target_ setPosition: ccp( (startPosition.x + delta.x * t ), (startPosition.y + delta.y * t ) )];
}