function drag(event)
if event.phase == "began" then
firstx, firsty = event.x, event.y
end
if event.phase == "ended" then
if firsty<event.y then
local otherx, othery = event.x, event.y
local x=(otherx-firstx)*4
local y=(othery-firsty)*4
shoot(x,y)
end
end
end
有关event.phase的问题吗?
程序在将firsty与event.y进行比较时会出错。
错误:尝试将nil与数字进行比较
奇怪的是,如果我只让程序加载几秒钟它就能完美运行..
答案 0 :(得分:0)
我不确定firsty
在没有看到更多代码的情况下发生了什么,但是这样呢?我认为它可以更好地解决您的问题。
function drag(event)
if event.phase == "ended" then
if event.yStart < event.y then
local y = (event.y - event.yStart) * 4
local x = (event.x - event.xStart) * 4
shoot(x, y)
end
end
end
您可以利用x & yStart获取活动的初始坐标,而不是自己保存。