Лайф-хак. Использование костюмов для вывода слов в Scratch
Основы программирования на Scratch
При решении задачек и программировании игр на Scratch мы с ребятами часто сталкиваемся с необходимостью красиво вывести на экран какую-то фразу или слово, так как стандарнтые варианты вывода командами спрайта "говорить" или "думать" не всегда удобны и красивы.
В принципе, разовый вывод какого-то сообщения типа "Старт", "Победа" и т.д. можно реализовать спрайтом с одним костюмом, в котором "написать" это слово, например, "кисточкой"
Конечно, самый красивый вариант вывода при "рисовании" такого спрайта получился бы при использовании кнопки "Текст", но проблема в том, что русский текст, к сожалению, стал корректно печататься только в текущей, новой версии Scratch 3.0
А новая версия, к сожалению, работает только в режиме он-лайн и не всегда удобна для нас. Старая же версия Scratch 2.0, хоть и имеет офлайн версию, к сожалению, буквы русского алфавита воспринимает с трудом, некоторые "напечатать" вообще не получалается...
Ну и самая большая проблема возникает тогда, когда в программе, игре или мультике надо вывести на экран ни одну фразу, не две, а десять и причем в разные моменты времени.
А еще бОльшая - если надо вывести слово, которое заранее не известно:)!. Например, имя игрока, которое запрашивается в начале игры.
Что же делать в такой ситуации? Попробуем сформулировать задачку и решить ее максимально "красивым", на наш взгляд, образом.
Частная задача: при запуске Scratch-программы необходимо попросить пользователя ввести любое слово, а в ходе программы - вывести это слово на экран большими буквами.
для решения упростим задание до необходимости запросить и вывести слово латинскими буквами (решение для русского алфавита будет аналогичным)
То есть будет всего два кадра:
1. Начало:
2. Результат:
Алгоритм решения:
- Создаем новый спрайт с именем "Буква"
- Воспользуемся тем, что в Scratch можно задать имя костюма конкретного спрайта.
- Создадим 25 костюмов для спрайта "Буква" - 25 букв латинского алфавита (либо с помощью инструмента "Текст", либо с помощью стандартной библиотеки)
- Дадим каждому костюму имя, соответствующее самой букве:
- Будем вызывать каждую букву простым набром команд:
собственно, все:))) Команда посередине данного блока "вырезает" букву из слова и находит её костюм:) Вауля!
Конечно же, для полной работоспособности Вам необходимо организовать еще цикл перебора букв в заданном слове и смещение каждой новой буквы на заданную величину.... Но это уже совсем другая задачка.
Хотите узнать полное решение?:) Пишите комментарии!:)))