Позиции курсора Love2d

У меня есть вопрос о функциях курсора love2d(скрипт lua). Я не хочу создавать область, чтобы нажимать, чтобы заставить действие произойти.

Я начал с цикла for для параметров x и y. Единственная другая проблема, о которой я подумал, заключается в том, чтобы пройти цикл for числа / координат и завершить его на 1-м числе, на котором остановится love.mouse.get(), и разрешить нажатие на него курсора. последняя координата (один пиксель).

for r = 660, 770 do --the x coordinates
mx = love.mouse.getX(r)
end

for f = 99.33, 169.66 do  --the y coordinates
my = love.mouse.getY(f)
end

И как бы я объединил два для переменных цикла (r и f).

Подводя итог, я хочу иметь возможность нажать на область и выполнить действие. Я знаю, что нет функций love.load, love.update и love.draw, потому что это всего лишь тестовый файл, чтобы узнать, как все это работает.

Спасибо:)

1 ответ

Решение

Вы переосмысливаете эту проблему. Что вы действительно хотите сделать, так это определить минимум и максимум в двух измерениях, прослушать события мыши, а затем проверить, находится ли местоположение мыши в пределах ваших границ. Нет необходимости перебирать все ваши диапазоны.

Рассмотрим пример "игры", где мы рисуем простую красную рамку, которая при нажатии переключает отображение текста в верхнем левом углу.

local box_dims = {
    { 660, 770 },
    { 99.33, 169.66 }
}

local show = false

function love.mousepressed (x, y)
    if
        x >= box_dims[1][1] and
        x <= box_dims[1][2] and
        y >= box_dims[2][1] and
        y <= box_dims[2][2] then

        show = not show
    end
end

function love.draw ()
    love.graphics.setColor(255, 0, 0, 255)

    love.graphics.rectangle('fill',
        box_dims[1][1], box_dims[2][1],
        box_dims[1][2] - box_dims[1][1],
        box_dims[2][2] - box_dims[2][1]
    )

    if show then
        love.graphics.print('hello world', 10, 10)
    end
end

Посмотрите документацию, чтобы решить, какое событие мыши подходит именно вам.

  • love.mousepressed
  • love.mousereleased
  • love.mousemoved
Другие вопросы по тегам