首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Love2d光标位置

Love2d光标位置
EN

Stack Overflow用户
提问于 2016-11-01 08:35:35
回答 1查看 455关注 0票数 0

我有一个关于love2d(lua )游标函数的问题。我不想让一个区域点击一个动作发生。

我开始跟踪x和y参数中的for循环。我想过的唯一其他问题是,它是否会经过一个数字/坐标的for循环,并在最后一个love.mouse.get()将结束的数字上完成,并允许光标在最后一个坐标上被单击(一个像素)。

代码语言:javascript
复制
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函数,因为这只是一个测试文件,以了解这些函数是如何工作的。

谢谢您:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-01 12:52:34

你想得太多了。您真正想要做的是在二维中定义最小值和最大值,侦听鼠标事件,然后检查鼠标位置是否在您的边界内。没有必要遍历整个范围。

考虑这个例子‘游戏’,我们画了一个简单的红色框,当点击它时,切换左上角的文本显示。

代码语言:javascript
复制
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

请查看文档,以确定哪个鼠标事件适合您。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40356519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档