タッチ位置に矩形を表示するサンプル

タッチ位置に矩形を表示するサンプルです。rotate()メソッドで矩形を常に回転させるようにしています。rotate()メソッドは正の値を指定すると時計回り、負の値を指定すると反時計回りに回転します。

local _rect   -- 矩形
local _touchX -- タッチ座標X
local _touchY -- タッチ座標Y
local _listener = {}

function main()
   init()
end

function init()
   local x = display.contentWidth/2
   local y = display.contentHeight/2
   local w = 40
   local h = 40
   _touchX = x
   _touchY = y

   _rect = display.newRect(x-w/2, y-h/2, w, h)
   _rect:setFillColor(255, 255, 255)
end

function _listener:enterFrame(event)
   _rect.x = _touchX
   _rect.y = _touchY
   _rect:rotate(2.0)
end

function _listener:touch(event)
   -- print("event.x:", event.x)
   -- print("event.y:", event.y)
   -- print("event.phase:", event.phase)

   _touchX = event.x
   _touchY = event.y
end

Runtime:addEventListener("touch", _listener)
Runtime:addEventListener("enterFrame", _listener)

main()

実行すると、以下のように回転する矩形が表示されます。タッチすると、そのタッチ位置に矩形が移動します。

f:id:noriok:20120401202547p:plain