From Test-Scratch-Wiki
Говорити () | |
говорити ()
| |
Категорія | Вигляд |
Тип | Зчіплюючий |
Блок Говорити () належить до блоків вигляду та зчіплюючих блоків. Він відображує спрайту бульбашку з указаним текстом. Наступний блок скрипта починає виконуватися одразу, а бульбашка залишатиметься доти, доки не буде активовано інший блок Говорити () чи Думати () або ж натиснуто кнопку зупинки. Дія цього блоку така сама, як і блоку Думати (), відмінність лише у вигляді бульбашки з текстом. Аби просто прибрати бульбашку, можна виконати такий самий блок з порожнім значенням параметра замість тексту.
Приклади застосування
На відміну від блока Говорити () () сек, цей блок не прибирає бульбашку з текстом. Тому він застосовується у випадках, коли текст має відображуватися протягом невизначеного часу, приміром, до натискання користувачем певної клавіши. Отже, типові застосування такі:
- Постійне відображення: об'єкт зі звуком, статичний вказівник
говорити [Жжжжж... Жжжж...]
говорити [<-- Змій {} Банк -->]
говорити [Я давній вказівник. Роки добре познущалися над моєю деревиною...]
- Повідомлення має змінюватися при натисканні кнопки користувачем
коли @greenFlag натиснуто говорити [Ти хочеш знати відповідь про життя у всесвіті й геть усе? (Натисни Пропуск)] чекати поки <клавішу [пропуск v] натиснуто?> говорити [42]
- Фінальне повідомлення (як-от 'Перемога!')
коли @greenFlag натиснуто чекати поки <(рахунок) > (9)> говорити [Чудово! Перемога з рахунком 10 твоя!]
- Повідомлення, час відображення якого прямо обирає користувач (краща реалізація блоком Говорити () () сек)
коли @greenFlag натиснуто запитати [Скільки секунд ти хочеш дивитися на число пі?] і чекати говорити [3.14159265358979323846264338327950288...] чекати (відповідь) секунд говорити []
- Зупинка дій до певної події, як-от натискання користувачем клавіши (приміром, пауза в грі)
коли @greenFlag натиснуто говорити [Для продовження натисни пропуск!] чекати поки <клавішу [пропуск v] натиснуто?> оповістити [продовження v] говорити []
- Цей блок може виявитися корисним для налагодження проєктів. Якщо помістити його всередину нескінченного циклу, можна відображувати складніші значення, аніж просто змінні, протягом усього виконання чи лише за певних умов.
завжди говорити ((var1) + ((var2) * (var3))) end
Типова помилка
Скретчери часто помилково очікують, що бульбашка з текстом буде прибрана, коли скрипт зупиниться чи навіть коли почне виконуватися наступний за цим блок. Натомість бульбашка з текстом залишиться, доки не буде виконано інший блок "Говорити" чи "Думати". Аби її прибрати, слід виконати такий самий блок з порожнім параметром тексту.
Примітка: | Запуск або зупинка проєкту прибирає всі бульбашки з текстом у спрайтів. |
В наступному прикладі спрайт демонструє своє повідомлення протягом випадкового періоду часу, а потім його приховує.
коли @greenFlag натиснуто говорити [Дивись,як я кручусь!] повторити (випадкове від (90) до (110)) поворот @turnRight на (4) градусів end говорити []