Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
箭头指向电晕SDK中的手指?_Sdk_Lua_Coronasdk - Fatal编程技术网

箭头指向电晕SDK中的手指?

箭头指向电晕SDK中的手指?,sdk,lua,coronasdk,Sdk,Lua,Coronasdk,早些时候我问了类似的问题,但我没有具体说明我想要什么。有一张箭头的图片,当它被触摸并且你的手指四处移动时,我希望箭头能够上下缩放并旋转,这样箭头的指针端就在你的手指上,箭头的中间始终保持在它所在的位置(箭头围绕中心点移动)。谢谢你的帮助 您可以计算箭头的x、y和触摸事件的x之间的角度。y是这样的: local tan = math.abs(arrow.y-event.y) / math.abs(arrow.x-event.x); local atan = math.atan(tan); -- (

早些时候我问了类似的问题,但我没有具体说明我想要什么。有一张箭头的图片,当它被触摸并且你的手指四处移动时,我希望箭头能够上下缩放并旋转,这样箭头的指针端就在你的手指上,箭头的中间始终保持在它所在的位置(箭头围绕中心点移动)。谢谢你的帮助

您可以计算箭头的x、y和触摸事件的x之间的角度。y是这样的:

local tan = math.abs(arrow.y-event.y) / math.abs(arrow.x-event.x);
local atan = math.atan(tan); -- (result in radians)
local angle = atan * 180 / math.pi; -- converted to degrees
arrow.rotation = angle
然后,要调整箭头的大小,您需要保存箭头的原始大小,可能需要跟踪最长的一侧:

local arrowLength = 100 -- for instance
local dX = event.x - arrow.x
local dy = event.y - arrow.y
local distance = math.sqrt(dx*dx + dy*dy)
local scale = distance / arrowLength
arrow:scale(scale, scale)

此代码未经测试,可能需要调整,但应该可以让您开始使用。

如何使其实时缩放和旋转?我将它插入到一个触摸事件中,但它只会放大一次,每次点击都会轻微旋转。很抱歉,所有的问题,但这是最后一块我需要完成我的测试应用程序!触摸事件有一个“移动”阶段,这是您将放置此代码的位置。请确保研究“触摸拖动”示例项目。