マウス入力

マウスの入力を受け取る

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

inX = 0
inY = 0

function love.draw()
  love.graphics.print("x:" .. inX .. ", y:" .. inY, 20, 20)
end

function love.mousepressed(x, y, button, istouch)
  inX = x
  inY = y
end
マウスの入力を受け取る

マウスをクリックすると、クリックした座標の情報が表示されます。

マウスの状態を詳しく受け取る

Love2Dでは「マウスのボタンが押されたとき」「マウスのボタンが離されたとき」「マウスが移動したとき」「ホイールが移動したとき」の状態を取得することができます。

text = ""

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

function love.mousemoved(x, y, dx, dy, istouch)
  text = "mousemoved: (" .. x .. ", " .. y .. ")"
end

function love.mousepressed(x, y, button, istouch, presses)
  text = "mousepressed: (" .. x .. ", " .. y .. ")"
end

function love.mousereleased(x, y, button, istouch, presses)
  text = "mousereleased: (" .. x .. ", " .. y .. ")"
end

function love.wheelmoved(x, y)
  text = "wheelmoved: (" .. x .. ", " .. y .. ")"
end
マウスの状態を詳しく受け取る

マウスの状態が文字列で表示されています。

マウスのボタンを判別する

アプリケーションやゲームでは左クリックと右クリックの判別する必要があります。中央ボタン(ホイール)も判別する必要があるかもしれません。クリックされたボタンの種類の情報はlove.mousepressed関数のbuttonで判定できます。

inButton = 0

function love.draw()
  if inButton == 1 then
    love.graphics.print("Left Click", 20, 20)
  elseif inButton == 2 then
    love.graphics.print("Right Click", 20, 20)
  elseif inButton == 3 then
    love.graphics.print("Center Click", 20, 20)
  end
end

function love.mousepressed(x, y, button, istouch)
  inButton = button
end
マウスのボタンを判別する

マウスをクリックすると、クリックしたボタンの種類が表示されます。