我正在尝试让游戏对象移动到触摸位置。我尝试了许多不同的方法来做到这一点,但都无济于事。我正在更新每帧的对象 y 位置以使其不断向前移动,我不确定这是否会影响添加力。
这是我移动乌鸦的地方(在更新功能内):
crow:translate((platformSpeed),0)
这是我试图让乌鸦移动到触摸位置的地方:
local function attack(xPos,yPos)
--get magnitude of touch vector
local magnitude = math.sqrt(xPos*2 + yPos*2)
--normalize vector
xPos = xPos / magnitude
yPos = yPos / magnitude
print(xPos..yPos)
local forceMag = 0.1 -- change this value to apply more or less force
--now apply the force
crow:setLinearVelocity(xPos*forceMag, yPos*forceMag)
--crow:applyLinearImpulse(xPos*forceMag, yPos*forceMag, crow.x, crow.y)
end
local function touchHandler(event)
if (event.phase == "began") then
end
if (event.phase == "ended") then
if (event.yStart>event.y+10) then
jump()
else attack(event.x,event.y) end
end
end
如您所见,我一直在尝试线速度和线冲量,但方向总是错误的!
任何帮助都会很棒,谢谢!艾伦。