2011-02-26 91 views
0

我正在试图做简单的程序,它会帮助我,而我玩。 我的代码在游戏未激活时工作正常,但当我激活我的游戏并全屏时,我的if语句无法工作。C++ GetAsyncKeyState问题

这里是例如:

if(GetAsyncKeyState(VK_LEFT)) 
{ 
    SetCursorPos(620, 321); 
} 

该代码是在一段时间(true)循环。

我在玩游戏时如何使用这些键?

回答

0

通过激活全屏我假设你正在编写一个基于DirectX的游戏。在这种情况下,您的问题可能在于SetCursorPos调用而不是GetAsyncKeyState。

DirectX着名的游标存在问题。这是由劣质司机造成的。

您可能需要调用

ShowCursort(NULL); 
pDevice->ShowCursor(TRUE); 

如果这样,则很坦率地说,我需要更多像正是你正在尝试做的信息,这是不是你的问题......

+0

这是不问题是因为如果我试图用相同的条件来回答某件事情,那么它将无法工作。只在游戏未激活时才能使用。 – 2011-02-26 15:00:15

+0

@Henri:那么如果你关心GetAsyncKeyState的返回值会发生什么?它返回什么值? – Goz 2011-02-26 15:42:03

+0

当没有按下任何东西时它返回0。按下键时返回-32767。它也返回1对应KEY_UP,我想。游戏启动时,它不会返回任何内容,只有0。我想返回值不是问题。 – 2011-02-26 17:31:14