在 SpriteKit 游戏中计算速度
Posted
技术标签:
【中文标题】在 SpriteKit 游戏中计算速度【英文标题】:Calculating speed in a SpriteKit game 【发布时间】:2013-09-29 22:18:41 【问题描述】:我正在使用 SpriteKit 和 Kobald Kit(开源添加)来创建一个基于图块的游戏,中间有一个角色。目前,当用户使用基于 CADisplayLink 刻度的操纵杆组件时,我正在计算角色的速度值。问题是角色在更高的帧速率上更快,正确的解决方案是什么?我知道我可以只使用操纵杆本身的 Y 值,但我宁愿失去良好的加速/减速效果......
【问题讨论】:
【参考方案1】:我假设您正在使用计算出的速度来调整游戏中元素的位置。您可以计算当前tick和最后一个tick之间的delta时间,并根据这个delta缩放速度。
我在我的 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
【讨论】:
这可行,我只是希望有一些原生 spritekit 解决方案......类似于“总是打勾”的方法:)以上是关于在 SpriteKit 游戏中计算速度的主要内容,如果未能解决你的问题,请参考以下文章