टर्टल ग्राफिक्स के दायरे में, एक साथ कई कुंजी प्रेस को संभालने की क्षमता आभासी कछुए पर उपयोगकर्ता के नियंत्रण को बढ़ाती है। यह आलेख एकाधिक कुंजी प्रेस को एक साथ बांधने की जटिलताओं पर प्रकाश डालता है, जिससे जटिल आंदोलन पैटर्न सक्षम हो जाता है।
एक दृष्टिकोण, जैसा कि उपयोगकर्ता द्वारा सुझाया गया है, ऑनकी() फ़ंक्शन का उपयोग करना है, जो कॉलबैक फ़ंक्शन को पंजीकृत करता है किसी विशिष्ट कुंजी को दबाने पर निष्पादित होता है। हालांकि यह विधि एक सीधा कार्यान्वयन प्रदान करती है, लेकिन कई प्रमुख प्रेसों का समन्वय करते समय यह चुनौतीपूर्ण हो सकती है।
प्रतिवादी द्वारा प्रस्तावित एक वैकल्पिक समाधान में अधिक व्यापक दृष्टिकोण शामिल है। यहां, कुंजी प्रेस को एक सेट में रिकॉर्ड किया जाता है, और इन घटनाओं को संसाधित करने और कछुए पर संबंधित आंदोलन आदेशों को लागू करने के लिए एक टाइमर का उपयोग किया जाता है। यह दृष्टिकोण एकल और संयुक्त कुंजी प्रेस दोनों को संभालने की अनुमति देता है।
from turtle import Turtle, Screen
win = Screen()
flynn = Turtle('turtle')
def process_events():
events = tuple(sorted(key_events))
if events and events in key_event_handlers:
(key_event_handlers[events])()
key_events.clear()
win.ontimer(process_events, 200)
def add_event(event):
key_events.add(event)
def handle_events():
process_events()
key_event_handlers = {
('UP',): move_up,
('DOWN',): move_down,
('LEFT',): move_left,
('RIGHT',): move_right,
('RIGHT', 'UP'): move_up_right,
('DOWN', 'RIGHT'): move_down_right,
('LEFT', 'UP'): move_up_left,
('DOWN', 'LEFT'): move_down_left,
}
key_events = set()
win.onkeypress(add_event, "Up")
win.onkeypress(add_event, "Down")
win.onkeypress(add_event, "Left")
win.onkeypress(add_event, "Right")
handle_events()
win.mainloop()
जब तीर कुंजी दबाई जाती है, तो कछुआ संबंधित दिशा में चलता है। ऊपर और दाएँ दोनों तीर कुंजियों को एक साथ दबाने से कछुआ 45 डिग्री उत्तर-पूर्व में चला जाता है। यह दृष्टिकोण टर्टल ग्राफ़िक्स में एकाधिक कुंजी प्रेस के समन्वय के लिए अधिक मजबूत समाधान प्रदान करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3