在Allegro5中启用鼠标

问题描述 投票:1回答:1

我在C程序中开始使用Allegro,但是我在创建按钮时遇到了困难。我正在使用这种逻辑:

if (event.type == ALLEGRO_EVENT_MOUSE_BUTTON_UP)
{
      if ((event.mouse.x >= 442) &&(event.mouse.x <= 471) &&(event.mouse.y >= 202) &&(event.mouse.y <= 238))
            {
                dig = '1';
                entr = 1;
            }

但是这个由轴定义的空间是非'可点击的'。这里有人对我应该使用的命令错字有一些提示吗?

c allegro5
1个回答
0
投票

我只能猜到出了什么问题,但还没有答案,所以我会提供一些关于可能出现的问题的提示。你的主题标题是在allegro 5中启用鼠标,所以我只能假设你没有得到鼠标输入。

1)您需要先安装鼠标驱动程序才能输入任何鼠标:

if (!al_install_mouse()) {Fail();}

2)鼠标需要在事件队列中注册。

al_register_event_source(event_queue , al_get_mouse_event_source());

在典型的GUI中,如果大多数按钮在其单击区域上同时接收鼠标按钮事件,并且在同一区域上同时发生鼠标按钮事件,则仅将其视为“按下”。这样,当您点击其他内容时,您不会按下按钮,将鼠标移到按钮上并释放它。您还可以防止按钮事件按下鼠标,将其从点击区域移开并释放它。

© www.soinside.com 2019 - 2024. All rights reserved.