0

先ほど似たような質問をしましたが、具体的に何を求めていたのかがわかりませんでした。矢印の絵があり、タッチして指を動かすと、矢印が拡大縮小して回転し、矢印のポインターの端が指にあり、矢印の中央が常に留まるようにしたいどこにありますか (矢印は中心点を中心に移動します)。ご協力いただきありがとうございます!

4

1 に答える 1

0

矢印の x、y とタッチ イベントの x の間の角度を計算できます。次のようなもの:

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)

このコードはテストされておらず、微調整が必​​要な場合がありますが、開始する必要があります。

于 2013-10-21T23:26:12.860 に答える