【发布时间】:2015-01-07 18:13:15
【问题描述】:
我正在尝试使用宇宙飞船上的两个点来创建“类似坦克的运动”,当两个点都受到physicsBody 的冲动(使用applyImpulse(CGVector, atPoint: CGPoint) 方法)并转向时,宇宙飞船将向前移动当只有一个点得到冲动时左/右。
我可以使用不带atPoint 参数的applyImpulse(CGVector) 方法将宇宙飞船向前移动,并且它可以工作,但是我在使用atPoint 参数时遇到了问题。
当尝试使用 atPoint 参数时,即使我对喷气发动机 1 和喷气发动机 2 都施加了脉冲,宇宙飞船也会随机移动,但我不确定我是否在正确的点施加力(在图像上标记的喷气发动机点),文档对此非常模糊,我不知道如何正确定位脉冲。
有谁知道如何获得正确的位置来应用脉冲?应该和图片上的一样。我正在使用 Swift,但我可以阅读 Objective C,所以这并不重要。
编辑: 我尝试了以下几点:
CGPoint(x: 0, y: 0) and CGPoint(x: 1, y: 0)
CGPoint(x: 0, y: 0) and CGPoint(x: spaceship.size.width, y: 0)
【问题讨论】:
-
@AndrewMonshizadeh 我刚刚用我尝试使用的两组点编辑了帖子
-
@CorPruijs 正如我所说,您可能应该使用 y 轴。或者至少,对于您显示的图像,这些点在 y 轴上偏移,而不是在 x 轴上。
-
@AndrewMonshizadeh 我已经修好了,我应该注意到飞船当前转动了 π/2(弧度)。
标签: swift sprite-kit game-physics