From Test-Scratch-Wiki
() द्वारा () रंग को स्पर्श? | |
<color (#7b68ee) is touching (#b8860b)?>
| |
Category | महसूस |
Type | बूलियन |
() द्वारा () रंग को स्पर्श? ब्लॉक एक महसूस ब्लॉक और बूलियन ब्लॉक है। ब्लॉक जाँचता है कि क्या पहला इनपुट, उसके स्प्राइट पर एक रंग, किसी दूसरे रंग को छू रहा है। अगर ऐसा है, तो ब्लॉक सच रिपोर्ट करता है, और अगर नहीं तो यह गलत रिपोर्ट करता है।
इस ब्लॉक का व्यापक रूप से टकराव का पता लगाने के लिए उपयोग किया जाता है।
१.२ से पहले के स्क्रैच के संस्करणों में, इस ब्लॉक को रंग () ख़त्म हो गया है ()? कहा जाता था।[1]
चेतावनी
रंग () स्पर्श कर रहा है ()? ब्लॉक अप्रत्याशित/अवांछित परिणाम उत्पन्न कर सकता है।
अंतर्निहित सीमा
महत्वपूर्ण रूप से, रंग () स्पर्श कर रहा है ()? ब्लॉक हमेशा गलत रिटर्न नहीं करता है यदि पहला रंग दूसरे रंग को स्पर्श नहीं कर रहा है। ऐसा इसलिए है क्योंकि स्क्रैच में रंग संवेदन में एक अंतर्निहित सीमा है। जबकि मंच 16 मिलियन से अधिक रंग प्रदर्शित कर सकता है, स्क्रैच के संवेदन ब्लॉक केवल बहुत कम संख्या में रंगों को अलग करते हैं।[2] इसका मतलब है कि रंग () स्पर्श कर रहा है ()? ब्लॉक अक्सर निर्दिष्ट रंग से अलग (लेकिन समान) रंग को महसूस करते समय गलत सकारात्मक लौटाएगा।[3] कई स्क्रैचर्स इस घटना को कभी नहीं देख सकते हैं, लेकिन जो लोग रंग पहचान में पूर्ण सटीकता चाहते हैं उन्हें स्क्रैच सीमा को ध्यान में रखना चाहिए।
एंटी-अलियासिंग
कुछ ग्राफिक्स, भले ही वे स्क्रैच पेंट एडिटर में स्पष्ट किनारों वाले दिखाई देते हों, मंच पर होने पर एंटी-अलियासिंग के अधीन होते हैं। इसका मतलब यह है कि, क्लिक करके रंग का चयन करते समय, सावधानी बरतनी चाहिए कि गलती से पारभासी किनारे वाला पिक्सेल न चुनें।
प्रदर्शन
स्क्रैचर्स () द्वारा () रंग को स्पर्श? का उपयोग करने पर विचार कर रहे हैं? ब्लॉक को पता होना चाहिए कि यह स्पर्श ()? ब्लॉक की तुलना में धीमी गति से काम करता है।[4]
उदाहरण उपयोग
- स्प्राइट को तब तक हिलाना जब तक कि उसके स्प्राइट पर कोई रंग किसी रंग को न छू ले।
repeat until <color [#ea235c] is touching [#cba81a]?> point towards (Sprite2 v) move (10) steps end
- यदि स्प्राइट पर मौजूद कोई रंग किसी रंग को छूता है तो स्प्राइट को कुछ करने के लिए कहना, उदाहरण के लिए, यदि स्प्राइट का (सफेद) मुंह (नीला) पानी को छूता है, तो वह कुछ पानी पीता है।
forever if <color [#ffffff] is touching [#0000ff]?> then switch costume to (drinking water v) wait (1) secs switch costume to (not drinking water v) end end
- यदि गोलियां किसी विशिष्ट रंग की दीवारों से टकराती हैं तो उन्हें रोकना।
repeat until <color [#ffd700] is touching [#f321a5]?> move (10) steps end delete this clone
- यह महसूस करना कि क्या कोई स्प्राइट भूलभुलैया में किसी मृत-अंत पर पहुंच गया है।
forever if <color [#000000] is touching [#007f00]?> then say [Uh-oh, I hit a dead end!] for (2) seconds end end