2012-08-02 32 views
0

問題:我想讓我的船精靈在基本的WASD鍵周圍移動。我已經完成了這個任務,但問題在於,當我擊中兩個鍵(例如W和D)時,該船不像我期望的那樣以對角方式移動。相反,它根據哪個鍵最近被擊中而移動。openFrameworks:如何允許兩個事件鍵同時發生

只要握住一把鑰匙,只要握住鑰匙,它就會移動。什麼是2(和多個)的設置?

我的代碼(blueship是與示出的不言自明的方法的類):

void testApp::keyPressed(int key) 
{ 
    if (key == 'w') 
    { 
     blueship.move_up(); 
    } 
    if (key == 's') 
    { 
     blueship.move_down(); 
    } 
    if (key == 'a') 
    { 
     blueship.move_left(); 
    } 
    if (key == 'd') 
    { 
     blueship.move_right(); 
    } 
} 

預先感謝。

回答

1

keyreleased event?

key W is pressed -> move up 
key W is release -> stop moving 
key A is pressed -> move left 
key S is pressed -> move left + move down (key A is not released,yet)