From Test-Scratch-Wiki
Y स्थिति | |
y position
| |
Category | गति |
Type | रिपोर्टर |
Y स्थितिि ब्लॉक एक मोशन ब्लॉक और एक रिपोर्टर ब्लॉक है। ब्लॉक अपने स्प्राइट की Y स्थिति रखता है। इस ब्लॉक को स्टेज मॉनिटर के रूप में प्रदर्शित किया जा सकता है।
उदाहरण उपयोग
चूँकि यह ब्लॉक अपने स्प्राइट की Y स्थिति की रिपोर्ट करता है, इसका उपयोग तब किया जा सकता है जब किसी स्क्रिप्ट को अपने मूल स्प्राइट की Y स्थिति जानने की आवश्यकता होती है। इसके कई मामले हैं. उदाहरण के लिए, कोई यह पता लगाने के लिए ब्लॉक का उपयोग कर सकता है कि उपयोगकर्ता स्क्रीन पर कितनी दूर है।
![]() | ये स्क्रिप्ट केवल स्प्राइट में काम करती हैं, क्योंकि स्टेज में कोई Y मान नहीं होता है। |
forever wait until <(y position) > [220]> change [Hits v] by (1) end
एक अन्य उपयोग चल स्लाइडर के आधार पर मान सेट करना है। स्क्रिप्ट मान को स्लाइडर की Y स्थिति पर सेट करती है।
set [sliderValue v] to (y position)
अन्य सामान्य उपयोग हैं:
- गतिविधि की जांच के लिए वाई स्थिति की तुलना रिकॉर्ड से करना
when green flag clicked set [y_pos prev v] to (y position) forever if <not <(y_pos prev) = (y position)>> then say [My Y position moved!] for (2) seconds // यदि y स्थिति स्थानांतरित हो गई है, तो कुछ कहें set [y_pos prev v] to (y position) end end
- स्प्राइट के Y मूवमेंट को लगातार संग्रहीत करना ताकि इसे बाद में फिर से लागू किया जा सके
when green flag clicked delete all of [x positions v] delete all of [y positions v] say [Move your mouse and I will reenact the movement!] for (2) seconds say [Go!] for (1) seconds repeat (50) // प्रत्येक ०.१ सेकंड में १ समन्वय रिकॉर्ड करता है add (mouse x) to [x positions v] add (mouse y) to [y positions v] wait (0.1) seconds end set [counter v] to [1] say [I will reenact it for you now!] for (2) seconds repeat (50) go to x:(item (counter) of [x positions v]) y:(item (counter) of [y positions v]) wait (0.1) seconds change [counter v] by (1) end
- किसी स्प्राइट की गति को उसके निर्देशांक के आधार पर बदलना
when green flag clicked forever change y by (y position) end
समाधान
ब्लॉक को निम्नलिखित ब्लॉक के साथ आसानी से दोहराया जा सकता है:
([y position v] of (sprite v))
हालाँकि, चूँकि इस वर्कअराउंड के लिए () (सेंसिंग ब्लॉक) की आवश्यकता होती है, इसका उपयोग वर्तमान स्प्राइट की Y स्थिति प्राप्त करने के लिए नहीं किया जा सकता है और इसे किसी अन्य स्प्राइट से किया जाना चाहिए, जब तक कि इस वर्कअराउंड का उपयोग नहीं किया जाता है:
([y position v] of (join [sprite][]))