我在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;
}
但是这个由轴定义的空间是非'可点击的'。这里有人对我应该使用的命令错字有一些提示吗?
我只能猜到出了什么问题,但还没有答案,所以我会提供一些关于可能出现的问题的提示。你的主题标题是在allegro 5中启用鼠标,所以我只能假设你没有得到鼠标输入。
1)您需要先安装鼠标驱动程序才能输入任何鼠标:
if (!al_install_mouse()) {Fail();}
2)鼠标需要在事件队列中注册。
al_register_event_source(event_queue , al_get_mouse_event_source());
在典型的GUI中,如果大多数按钮在其单击区域上同时接收鼠标按钮事件,并且在同一区域上同时发生鼠标按钮事件,则仅将其视为“按下”。这样,当您点击其他内容时,您不会按下按钮,将鼠标移到按钮上并释放它。您还可以防止按钮事件按下鼠标,将其从点击区域移开并释放它。