我正在使用SpriteKit和Kobald Kit(一个开源添加)来创建一个基于区块的游戏,中间有一个角色。目前,当用户使用基于CADisplayLink标记的操纵杆组件时,我正在计算角色的速度值。问题是角色在更高的帧速率下更快,什么是正确的解决方案?我知道我可以简单地使用操纵杆本身的Y值,但我不会松动加速/减速效果......
答案 0 :(得分:2)
我假设您正在使用计算出的速度来调整游戏中元素的位置。您可以计算当前刻度和最后刻度之间的增量时间,并根据此增量来缩放速度。
我在SKScene的更新方法中做了类似的事情:
- (void) update:(NSTimeInterval) currentTime {
NSTimeInterval delta = currentTime - self.lastTime;
self.lastTime = currentTime;
// use the time delta to determine how much of the velocity to add to the affected sprite
}