精灵不会在屏幕边缘移动

时间:2012-04-22 01:54:53

标签: objective-c cocos2d-iphone

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

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

这是非常值得注意的,因为我的游戏中的一个元素就是2d程序性地形。我的游戏产生了一个无限长的山丘,它以相当小的块来完成。这些块紧接着彼此放置并一起移过屏幕。但是当一个块的左边缘碰到屏幕的左边缘时,它会延迟几个像素,并导致一个难看的重叠。

我使用以下代码移动块:

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

为什么会这样?

1 个答案:

答案 0 :(得分:0)

看起来您没有考虑更新中的时间差异。 查看CCMoveTo操作的代码:

-(void) update: (ccTime) t
{   
    [target_ setPosition: ccp( (startPosition.x + delta.x * t ), (startPosition.y + delta.y * t ) )];
}