0
(請原諒我的簡寫,因爲這是從內存中)我有類似代碼:如何在OpenSceneGraph鍵盤輸入事件中處理區分大小寫?
bool myclass::handle(event ea){
switch (ea.getEventType()){
case(osgGA::KEYDOWN):
switch (ea.getkey())
{
case (osgGA::KEY_Lshift):
down = true;
break;
case (osgGA::KEY_W):
forward = true;
break;
}
return false;
case(osgGA::KEYUP){
switch (ea.getkey())
{
case (osgGA::KEY_Lshift):
down = false;
break;
case (osgGA::KEY_W):
forward = false;
break;
}
return false;
}
我打印ea.getkey(),當我按「W」,我得到了它移動的預期行爲前鋒。但是,如果我按下'shift'然後放開'w',我會調試:「KEYUP:W」。請注意,它是大寫,我繼續前進,直到小寫'w'被按下並釋放。
我是否希望只使用基本的C++函數將所有內容都轉換爲小寫?我只是試圖使用標準的WASD運動與Space/L-shift一起在我的環境中上下移動。
我想我必須檢查每個按鍵的兩種組合(如果我決定保持在最終控制中的轉變)。感謝您的確認! – user3000724