From Test-Scratch-Wiki
() का () | |
[ v] of ( v)
| |
Category | महसूस |
Type | रिपोर्टर |
Introduced in | १.२ |
() का () ब्लॉक एक महसूस ब्लॉक और एक रिपोर्टर ब्लॉक है। ब्लॉक निर्दिष्ट स्प्राइट या स्टेज का निर्दिष्ट मान रिपोर्ट करेगा।
नीचे वे मान दिए गए हैं जिन्हें रिपोर्ट किया जा सकता है:
- X स्थिति
- Y स्थिति
- दिशा
- पोशाक या पृष्ठभूमि संख्या
- पोशाक या पृष्ठभूमि का नाम
- आकार
- आयतन
- निर्दिष्ट स्प्राइट के लिए स्थानीय चर, या यदि स्टेज निर्दिष्ट है तो वैश्विक चर
यदि ब्लॉक का उपयोग किसी ऐसे स्प्राइट पर किया जाता है जिसमें क्लोन हैं, तो रिपोर्ट किया गया मान मूल स्प्राइट का होगा, और कभी भी क्लोन का नहीं होगा।[1] इससे इस ब्लॉक का उपयोग करके क्लोन के बारे में जानकारी प्राप्त करना असंभव हो जाता है।
यदि दूसरे ड्रॉप-डाउन में कुछ नहीं है, या यदि कोई स्प्राइट जिसे हटा दिया गया था या जो मौजूद नहीं है, दूसरे ड्रॉप-डाउन में है, तो यह मान ० के रूप में रिपोर्ट करता है।
उदाहरण उपयोग
यह ब्लॉक स्प्राइट्स और स्टेज को अन्य स्प्राइट्स के विशेष मूल्यों तक पहुँच की अनुमति देता है। इसके साथ, प्रोजेक्ट में स्प्राइट्स के बीच बहुत अधिक कनेक्टिविटी हो सकती है।
यह ब्लॉक आठ ब्लॉकों को अनावश्यक बनाता है (क्लोन द्वारा उपयोग किए जाने को छोड़कर):
इसके अलावा, स्क्रैच १.४ और उसके बाद के सभी संस्करणों में, स्प्राइट नाम क्षेत्र में एक अभिव्यक्ति/चर डाला जा सकता है ताकि स्क्रिप्ट उस स्प्राइट के नाम के आधार पर किसी अन्य स्प्राइट के चर या गुणों तक पहुँच सके। स्टेज को निर्दिष्ट करने के लिए, नाम "_stage_" होना चाहिए। यह उन परियोजनाओं में उपयोगी है जहाँ कोई चीजों को सामान्यीकृत करने में सक्षम होना चाहता है:
set [index v] to [0] repeat (length of [names v]) change [index v] by (1) replace item (index) of [values v] with ([myVar v] of (item (index) of [names v]))
() ब्लॉक के () के कुछ सामान्य उपयोगों में शामिल हैं:
- एक स्प्राइट को दूसरे का अनुसरण करने के लिए उसकी X और Y स्थिति को दूसरे के X और Y स्थिति के बराबर सेट करना, एक निश्चित राशि को प्लस या माइनस करना:
when gf clicked forever go to x: (([x position v] of (Sprite2 v)) - (10)) y: (([y position v] of (Sprite2 v)) - (10))
- एक अलग स्प्राइट के एक निश्चित पोशाक तक पहुंचने की प्रतीक्षा करना
wait until <([costume# v] of (Sprite1 v)) = (target)>
- स्प्राइट के स्वयं के वॉल्यूम को तदनुसार समायोजित करने के लिए वॉल्यूम की जाँच करना
set volume to ([volume v] of (Sprite1 v))%
समाधान
इस ब्लॉक की कार्यक्षमता को निम्नलिखित स्क्रिप्ट के साथ फिर से बनाया जा सकता है:
इसे हर स्प्राइट में डालें:
when green flag clicked forever set [Sprite1: X v] to (x position)// इनमें से प्रत्येक के लिए "Sprite1" को स्प्राइट के नाम में बदलें set [Sprite1: Y v] to (y position) set [Sprite1: Direction v] to (direction) set [Sprite1: Costume# v] to (costume [number v]::looks) set [Sprite1: Costume Name v] to (costume [name v]::looks) set [Sprite1: Size v] to (size) set [Sprite1: Volume v] to (volume) end
और फिर मंच के लिए:
when green flag clicked forever set [Stage: Backdrop# v] to (backdrop [number v]::looks) set [Stage: Backdrop Name v] to (backdrop [name v]::looks) set [Stage: Volume v] to (volume) end
और फिर उनको कॉल करें:
set [output v] to (Sprite 1: X)