我把这个东西作为我程序的一部分。语言是 C++,带有 Allegro 库。我想让它做下一个:单击时,两个矩形之一周围会出现一个边框。
它发生,但只有一次,在开始时。之后,当我将鼠标移开时,边框一直消失。此外,在我单击的任何地方,边框都会出现在正确的位置。
mouseX 和 mouseY 完美运行,即使数字相同。但是该动作仅在我想要的方式上发生一次。单击时如何将其扩展到每种情况?
if(asd.type == ALLEGRO_EVENT_MOUSE_AXES)
{
mouseX = asd.mouse.x;
mouseY = asd.mouse.y;
}
if(asd.type == ALLEGRO_EVENT_MOUSE_BUTTON_DOWN)
{
if(asd.mouse.button & 1)
{
if (mouseX > 592 && mouseX < 608 && mouseY > 540 && mouseY < 556)
{
Chosen_Cell = 1;
borderX = 592;
borderY = 540;
}
if (mouseX > 592 && mouseX < 608 && mouseY > 556 && mouseY < 562)
{
Chosen_Cell = 2;
borderX = 592;
borderY = 556;
}
al_draw_rectangle(borderX, borderY, borderX + 16, borderY + 16, al_map_rgb(255, 255, 0),2);
if (16 < mouseX && mouseX < 528 && 16 < mouseY &&mouseY < 736)
{
switch (Chosen_Cell)
{
//blahblah, not important
}
}
}
}