C ++ DirectX用鼠标点击切换功能麻烦

时间:2015-12-17 19:17:32

标签: c++ directx-9

我为一个简单的游戏制作了一个GUI,我希望当我在一个盒子里点击一次它会像这样在框中画一个X:

X

bool ToggleX = false;
if (P.y >= xCenterY - 147 && P.y >= xCenterY - 134 
    && P.x >= xCenterX - 311 && P.x <= xCenterX - 298 &&
    GetKeyState(VK_LBUTTON) & 1)
{
    ToggleX = !ToggleX;
}

我的&#34;功能&#34;绘制X:

if (ToggleX)
{
    Draw->String(xCenterX - 308, xCenterY - 148, 
                 D3DCOLOR_ARGB(255, 255, 255, 255), D3Vars::sFont, "X");
}

但问题是,如果我点击方框外的某个地方,我将光标移到方框上,它会被#34;勾选&#34;即使我没有在框内点击。

此外,如果我在点击X消息后将光标移出框,当我将光标移回到框上时,它会像这样重新启用:

Gif

我该怎么办?

Full Code

Soulution:

if (P.y >= xCenterY - 147 && P.y <= xCenterY - 134 && P.x >= xCenterX - 311 && P.x <= xCenterX - 298 && GetAsyncKeyState(VK_LBUTTON) & 1)
{
    ToggleX = !ToggleX;
}

0 个答案:

没有答案