我试过用谷歌搜索,但是教程只告诉你如何使弹丸过渡到某个目标。在我的情况下,我希望它向目标移动,然后继续直到屏幕边缘。
这是我目前的拍摄功能:
local function shoot()
--Invert coordinates
local x = screenWidth - x
local y = screenHeight - y
--a2+b2=c2
local sqDistance = ((x-centerX)*(x-centerX))+((y-centerY)*(y-centerY))
--Sqaure root it.
local dist = mSqrt(sqDistance);
--speed = d/t
distTime = dist/BULLET_SPEED
--if distTime is negative, this makes it positive
if distTime < 0 then
distTime = distTime -distTime -distTime
end
--Create the bullet
local shot = display.newRect(1,1,6,2)
shot.x = centerX; shot.y = centerY;
shot:setFillColor(240,200,0)
shot.rotation = angleBetween+90;
bulletGroup:insert(shot)
--Remove bullet
local function removeShot()
display.remove(shot)
shot = nil
end
--Move the bullet
transition.to(shot, {time = distTime, x = x, y = y, onComplete = removeShot})
end