में उपयोग करते हुए घटनाओं मैं रैकेट सीख रहा हूँ (पूर्व PLT योजना, एक लिस्प बोली) और कैसे घटनाओं paint-callback
की तुलना में अलग संभाल करने की खोज करने की कोशिश (शायद यह भी एक नहीं है)।रैकेट: एक फ्रेम% खिड़की
मुझे आशा है कि this part of the doc से बहुत कुछ है लेकिन on-char
और on-event
ऐसा कुछ भी नहीं है जो मुझे रूचि दे (या कुछ भी नहीं)।
प्लस, मैं घटनाओं, कतार-कॉलबैक और उनके उपयोगों को समझ नहीं पा रहा हूं। एक उदाहरण एक अच्छी बात होगी! मैं उस अच्छे आदमी का आभारी रहूंगा जो मुझे एक लिख देगा :)।
यहाँ मेरी कोड है:
(define game (new frame%))
(define gameLay (class canvas% (super-new)))
(new gameLay
[parent game]
[paint-callback (λ (canvas dc) #|draw things|#)])
मैं की तरह "पर माउस क्लिक में बाईं ओर" कुछ (जो मौजूद नहीं है) जिस तरह से मैं का उपयोग "रंग-कॉलबैक" उपयोग करना चाहते हैं, लेकिन मैं मुझे लगता है कि कदम जोड़ने की जरूरत है (मैंने ईवेंटस्पेस इत्यादि के बारे में पढ़ा है)। मैं यह काम नहीं करता है, लेकिन यहां काल्पनिक कोड मैं के लिए खोज कर रहा हूँ है:
(new gameLay
[parent game]
[paint-callback (λ (canvas dc) #|draw things|#)]
[on-mouse-click-left (λ (canvas dc) #|do other things|#)])
मुझे लगता है कि आप जो करना चाहते हैं उसका एक उदाहरण वास्तव में यह दिखाने में मदद करेगा कि यह कैसे किया जाता है। – Svante
यहाँ मेरी कोड है: '(खेल (नया फ्रेम%) को परिभाषित) (परिभाषित gameLay (वर्ग कैनवास% (सुपर नया))) (नई gameLay [मूल खेल] [रंग-कॉलबैक (λ (कैनवास डीसी) ; चीजें खींचें )]})) मैं "पेंट-कॉलबैक" का उपयोग करने के तरीके पर "ऑन-माउस-क्लिक-बाएं" (जो मौजूद नहीं है) जैसे कुछ का उपयोग करना चाहता हूं लेकिन मुझे लगता है कि मुझे कदम जोड़ने की जरूरत है (मैंने ईवेंटस्पेस इत्यादि के बारे में पढ़ा है)। – L01man
मैंने उस जानकारी को आपके प्रश्न में रखा है। कृपया कोड को सही करें; अंत में बेमेल ब्रांड्स और ब्रेसिज़ हैं, इसलिए हो सकता है कि आप जो भी इरादा न करें। उदाहरण को स्पष्ट बनाने के लिए, बस उदाहरण के रूप में अपना काल्पनिक 'ऑन-माउस-क्लिक' डालें, जिस तरह से आप इसका उपयोग करना चाहते हैं। – Svante