如何在spritekit swift

时间:2017-01-24 19:11:20

标签: swift math sprite-kit

我有一个球,我想通过施加力使它向一个方向移动。 在我的游戏中,我有2个点,形成一条我希望球跟随的线。

我如何知道矢量分量dxdy

我只知道(y2 - y1)/(x2 - x1)

编辑::

let ddx = (bullet.position.x - position.x)
let ddy = (bullet.position.y - position.y)
let Len = sqrt((ddx * ddx) + (ddy * ddy))
let dx = ddx / Len
let dy = ddy / Len
let force = CGVector(dx: dx, dy: dy)
let action = SKAction.applyForce(force, at: position, duration: 2)
let fire = SKAction.repeatForever(action)
bullet.run(fire, withKey: "firing\(bullet.name)")

仍然没有发生

更新::

它的工作原理

let action = SKAction.moveBy(x: bullet.position.x, y: bullet.position.y, duration: 2)

1 个答案:

答案 0 :(得分:1)

似乎你需要单位方向向量的组成部分:

ddx = (x2 - x1)
ddy = (y2 - y1)
Len = Sqrt(ddx * ddx + ddy * ddy)
dx = ddx / Len
dy = ddy / Len