タッチ入力

タッチの入力を受け取る

マウスのボタンが押された入力を受け取る場合、love.touchpressedコールバック関数を使用します。

touchX = 0
touchY = 0

function love.draw()
  love.graphics.print("x:" .. touchX .. ", y:" .. touchY, 20, 20)
end

function love.touchpressed(id, x, y, dx, dy, pressure)
  inX = x
  inY = y
end
タッチの入力を受け取る

スクリーンをタッチすると、タッチした座標の情報が表示されます。

タッチの状態を詳しく受け取る

Love2Dでは「タッチが開始されたとき」「タッチが終了したとき」「タッチしながら移動したとき」の状態を取得することができます。

text = ""

function love.draw()
  love.graphics.print(text, 20, 20)
end

function love.touchpressed(id, x, y, dx, dy, pressure)
  text = "touchpressed:(" .. id .. "," .. x .. "," .. y .. ")"
end

function love.touchreleased(id, x, y, dx, dy, pressure)
  text = "touchreleased:(" .. id .. "," .. x .. "," .. y .. ")"
end

function love.touchmoved(id, x, y, dx, dy, pressure)
  text = "touchmoved:(" .. id .. "," .. x .. "," .. y .. ")"
end
タッチの状態を詳しく受け取る

タッチの状態が文字列で表示されています。

タッチの圧力について

love.touchpressed, love.touchreleased, love.touchmovedの引数の最後にpressureがあります。preassureはタッチの圧力の情報を保持しています。

ただし、現在の多くのタッチスクリーンは感圧式ではありません。そのため、タッチの圧力を正しく取得できないことの方が圧倒的に多いです。preassureはなるべく使わない方が良いでしょう。