From Test-Scratch-Wiki
कहो () | |
say ()
| |
Category | लुक्स |
Type | ढेर |
Introduced in | १३अक्टूबर०४ |
कहो () ब्लॉक एक लुक्स ब्लॉक और एक स्टैक ब्लॉक है। ब्लॉक अपने स्प्राइट को निर्दिष्ट टेक्स्ट — के साथ एक स्पीच बबल देता है, स्पीच बबल तब तक रहता है जब तक कि कोई अन्य स्पीच या विचार ब्लॉक सक्रिय नहीं हो जाता है, या स्टॉप साइन दबाया नहीं जाता है। यह ब्लॉक थिंक () ब्लॉक के समान है, सिवाय इसके कि यह ब्लॉक एक भाषण बुलबुला देता है, जबकि दूसरा एक विचार बुलबुला देता है। सक्रिय होने पर यह ब्लॉक तुरंत अगले ब्लॉक पर चला जाता है,() के लिए () कहें सेकंड्स ब्लॉक के विपरीत। यह तंत्र स्टार्ट साउंड () ब्लॉक के समान है।
उदाहरण उपयोग
चूंकि यह ब्लॉक एक वैकल्पिक रूप से स्थायी भाषण बुलबुला देता है, इसका उपयोग अक्सर एक भाषण बुलबुले के लिए किया जाता है जिसे एक अनिर्दिष्ट समय के बाद समाप्त करने की इच्छा होती है, जैसे कि एक ट्रिगर घटना या बयान।
कुछ उपयोग हैं:
- कोई वस्तु सदैव ध्वनि उत्पन्न करती हो
say [Buzz... Buzz...]
- एक चित्र या संकेत
say [<-- Dragon {} Bank -->]
- एक संदेश जो दूर नहीं जाना चाहता
say [I am the forever sign. Age has worn my wood so much...]
- एक संदेश जो स्पेस कुंजी दबाने पर अगले पर फ़्लिप हो जाता है
when gf clicked say [Do you want to know the answer to life, the universe, and everything? (Press Space)] wait until <key (space v) pressed?> say [42]
- एक अंतिम संदेश (उदाहरण के लिए, 'आप जीत गए!' या 'कृपया अपने विचार टिप्पणी करें!')
when gf clicked wait until <(score) > (9)> say [Great job! You win with a score of 10!]
- एक संदेश जिसे दर्शक चुन सकता है कि वह कितने समय तक रहेगा
when gf clicked ask [How long would you like me to say π (pi)?] and wait say [3.141592653589793238462643383279502884197169399375105...] wait (answer) seconds say []
- परिवर्तनीय लंबाई वाला भाषण (जैसे कि आगे बढ़ने से पहले किसी खिलाड़ी की कार्रवाई की प्रतीक्षा करना)
when gf clicked say [Press space to continue!] wait until <key (space v) pressed?> broadcast (continue v) say []
वर्ण सीमा
स्क्रैच ३.० के लिए एक वर्ण सीमा जोड़ी गई, जिससे सभी पाठ को ३३० वर्ण या उससे कम तक सीमित कर दिया गया।[1] यह सीमा निम्नलिखित ब्लॉकों पर भी लागू होती है:
say () for () seconds
think ()
think () for () seconds
सामान्य गलती
"कहो" ब्लॉक को अक्सर यह गलत समझा जाता है कि जब स्क्रिप्ट समाप्त हो जाती है या अगले ब्लॉक पर चला जाता है तो संदेश को बोलना बंद कर देता है, लेकिन इसके बजाय, स्प्राइट लगातार पाठ को तब तक कहता रहता है जब तक वह कुछ और नहीं कहता या सोचता है। किसी स्प्राइट को संदेश कहना बंद करने के लिए, उसे एक खाली संदेश बोलना होगा, जिससे स्पीच बबल छिपा रहता है और स्प्राइट कुछ भी नहीं कहता है।
Note: | किसी प्रोजेक्ट को शुरू करने और रोकने से स्प्राइट सभी संदेशों को बोलना बंद कर देता है।[2] |
निम्नलिखित स्क्रिप्ट एक स्प्राइट को अनिर्दिष्ट समय के लिए एक संदेश कहने और फिर संदेश को रोकने का एक उदाहरण है।
when gf clicked say [Watch me spin!] repeat (pick random (90) to (110)) turn right (4) degrees end say []
A proper script would look like this:
when gf clicked say [Watch me spin!] for (2) seconds repeat (pick random (90) to (110)) turn right (4) degrees end
यह स्क्रिप्ट आगे की कार्रवाई करने से पहले २ सेकंड तक प्रतीक्षा करती है, जिससे उपयोगकर्ता के लिए संवाद देखना संभव हो जाता है।
डिबगिंग
उक्त ब्लॉक डिबगिंग परियोजनाओं के लिए उपयोगी हो सकता है, क्योंकि यह फॉरएवर लूप में डालकर कुछ निश्चित मानों की निगरानी कर सकता है जिनके बारे में उपयोगकर्ता को जानना आवश्यक है। उदाहरण के लिए:
forever say ((var1) + ((var2) * (var3))) end