के साथ कोई कुंजी नीचे है या नहीं, मैं कुछ ग्राफिक्स के साथ खेल रहा हूं, और मैंने तीर कुंजियों के साथ सरल कैमरा आंदोलन लागू किया है।जांचें कि क्यूटी
switch(key)
{
case up: MoveCameraForward(step); break;
case left: MoveCameraLeft(step); break;
...
}
यह मैं चाहता हूँ के रूप में यह होता है काम नहीं करता है: मेरा पहला दृष्टिकोण इस तरह कुछ करने के लिए keyPressEvent
ओवरराइड करने के लिए किया गया था। जब मैं दबाता हूं और दबाता हूं, उदाहरण के लिए, अगली कुंजी, कैमरा "चरण" इकाइयों को आगे बढ़ाता है, फिर थोड़ी देर तक रोकता है और फिर आगे बढ़ता रहता है। मैं अनुमान लगा रहा हूं कि थोड़ी देर की कुंजीपेशियों के मामले में कई घटनाओं से बचने के लिए घटना उत्पन्न होती है।
तो, मुझे अपने Paint()
दिनचर्या में कीबोर्ड को पोल करने की आवश्यकता है। मुझे नहीं पता कि क्यूटी के साथ इसे कैसे किया जाए। मैंने map<Key, bool>
रखने का विचार किया जो keyPressEvent
और keyReleaseEvent
में अपडेट किया जाएगा और Paint()
में उस मानचित्र को मतदान करेगा। कोई बेहतर विचार? किसी भी अंतर्दृष्टि के लिए धन्यवाद।
यह विशेष रूप से प्रोत्साहित किया जाता है क्योंकि कुंजीपटल दोहराना दर उपयोगकर्ता द्वारा स्थापित की जा सकती है। यह गारंटी देने का एकमात्र तरीका है कि यह आपकी आंतरिक टिक दर से स्वतंत्र है। – RedX
क्यूटी मंचों में इसके बारे में एक धागा है, और इसके बारे में एक उदाहरण है: http://qt-project.org/forums/viewreply/135346/ – bobbaluba