From Test-Scratch-Wiki
जब इस स्प्राइट पर क्लिक किया गया | |
when this sprite clicked
| |
Category | नियंत्रण/घटना |
Type | हैट |
Introduced in | १.० |
जब इस स्प्राइट पर क्लिक किया गया ब्लॉक एक घटना ब्लॉक और एक हैट ब्लॉक है। ब्लॉक पहनने वाली स्क्रिप्ट उसके स्प्राइट या स्प्राइट के क्लोन पर क्लिक करने के बाद सक्रिय हो जाएंगी। अपने निश्चित नाम के विपरीत, क्लोन पर क्लिक करने पर ब्लॉक क्लोन की स्क्रिप्ट को भी निष्पादित करेगा।
बिटमैप संपादक में खोखले आयत और अंडाकार टूल का उपयोग करके घिरे पारदर्शी क्षेत्रों को छोड़कर, स्प्राइट के पारदर्शी क्षेत्रों पर क्लिक करने से यह घटना ट्रिगर नहीं होती है।
यदि किसी स्प्राइट को हाइड ब्लॉक द्वारा छुपाया गया है, तो जब उसके स्थान पर क्लिक किया जाता है, तो व्हेन दिस स्प्राइट क्लिक्ड ब्लॉक के अंतर्गत स्क्रिप्ट सक्रिय नहीं होगी।
स्टेज में, इस ब्लॉक को व्हेन स्टेज क्लिक्ड कहा जाता है।
when stage clicked
इतिहास
स्क्रैच १.x में, इस ब्लॉक को जब () क्लिक किया गया कहा जाता था। यह स्वचालित रूप से उस स्प्राइट के नाम से भर जाता था जिस पर इसे रखा गया था।
स्क्रैच २.० में, इसका नाम बदलकर व्हेन दिस स्प्राइट क्लिक्ड कर दिया गया, जिससे ब्लॉक नाम सभी स्प्राइट के लिए एक समान हो जाएगा। शुरुआती संस्करणों में, इसे व्हेन आई एम क्लिक्ड कहा जाता था, लेकिन अज्ञात कारणों से इसे बदल दिया गया था।
सक्रियण
जब भी स्प्राइट पर क्लिक किया जाएगा तो यह इसके नीचे की स्क्रिप्ट चलाएगा। यदि सेट ड्रैग मोड ब्लॉक द्वारा स्प्राइट को खींचने योग्य पर सेट किया गया है, तो स्प्राइट को खींचने से मुक्त करने पर यह सक्रिय हो जाएगा।
![]() | यह क्लिक करने पर स्प्राइट के क्लोनों के लिए भी चलेगा। |
उदाहरण उपयोग
- बटन बनाना
when this sprite clicked broadcast (open menu v) //एक उदाहरण बटन जो एक मेनू खोलता है
- ऑपरेटिंग सिस्टम
when this sprite clicked switch backdrop to (meadow v) //पृष्ठभूमि बदल रही है
- वस्तुओं के साथ अंतःक्रिया करना
when this sprite clicked repeat (20) change [whirl v] effect by (5) end repeat (10) change size by (-10)
- इनपुट नियंत्रण
when this sprite clicked say [Hello!] for (2) secs ask [How are you feeling today?] and wait if <(answer) = [Happy]> then say [That's good!] for (2) secs
- मेनू
when this sprite clicked set size to (90)% wait (0.5) secs set size to (100)% broadcast (Menu v)
समाधान
इस ब्लॉक को निम्नलिखित कोड के साथ दोहराया जा सकता है:
![]() | ये इस ब्लॉक के व्यवहार को पूरी तरह से दोहराते नहीं हैं, क्योंकि ट्रैकपैड का उपयोग करते समय वे क्लिक करने के लिए टैप का पता नहीं लगाएंगे। |
when gf clicked forever wait until <not <mouse down?>> wait until <mouse down?> if <touching (mouse-pointer v)?> then . . . end
या
when gf clicked forever if <<mouse down?> and <touching (mouse-pointer v)>> then . . . wait until <not <mouse down?>> end
या
when [timer v] > (0.1) wait until <<mouse down?> and <touching (mouse-pointer v)?>> . . . wait until <not <<mouse down?> and <touching (mouse-pointer v)?>>> stop [this script v]