我很努力在Irrlicht內編程按鍵。Irrlicht Keypresses
我已經創建了一個eventreciever這樣:
class MyEventReceiver : public IEventReceiver
{
virtual bool OnEvent(const SEvent& event)
{
if (event.EventType == irr::EET_KEY_INPUT_EVENT)
{
KeyIsDown[event.KeyInput.Key] = event.KeyInput.PressedDown;
{
if (event.EventType == irr::EET_KEY_INPUT_EVENT&&!event.KeyInput.PressedDown)
switch(event.KeyInput.Key)
{
case KEY_KEY_1:
case KEY_KEY_2:
case KEY_KEY_3:
}
return true;
}
}
return false;
}
virtual bool IsKeyDown(EKEY_CODE keyCode) const
{
return KeyIsDown[keyCode];
}
MyEventReceiver()
{
memset(KeyIsDown, false, sizeof(KeyIsDown));
}
private:
bool KeyIsDown[KEY_KEY_CODES_COUNT];
};
這一切都似乎是工作本身。然而,內「而(裝置 - >運行())」我已經實現:
if(receiver.IsKeyDown(irr::KEY_KEY_1))
{
}
,而我得到一個錯誤,我reciever「標識reciever是不確定的」。在我看到的所有例子中,我看到這個沒有聲明的接收變量,他們聲稱它是有效的。我究竟做錯了什麼?
我建立的示例項目 「LoadIrrFile」(#15)。
該計劃是爲1-3鍵實現武器開關。我應該能夠得到一次我有密鑰按下初始化的代碼。
我使用,我發現這裏的片段:http://irrlicht.sourceforge.net/forum//viewtopic.php?p=143082
下面是一個完整的代碼段,如果需要更多的信息:http://pastie.org/pastes/8620301/text
感謝。在你評論之前,管理從我知道的專業人士那裏獲得幫助。問題是固定的,等待下一個問題出現的時間:P – Rellac