我有一个球,我想通过施加力使它向一个方向移动。 在我的游戏中,我有2个点,形成一条我希望球跟随的线。
我如何知道矢量分量dx
和dy
?
我只知道(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)
答案 0 :(得分:1)
似乎你需要单位方向向量的组成部分:
ddx = (x2 - x1)
ddy = (y2 - y1)
Len = Sqrt(ddx * ddx + ddy * ddy)
dx = ddx / Len
dy = ddy / Len