Scratch — это язык и среда блочного программирования. Вы — уже не новичок, но стоит кое-что вспомнить (повторить, освежить в памяти).
Среда ориентирована на начальный уровень обучения программированию. Scratch—программист не пишет код, а собирает его из блоков как конструктор.
Название произошло от scratching — техники, используемой хип-хоп-диджеями, которые крутят виниловые пластинки вперед-назад руками для того, чтобы смешивать музыкальные темы.
Но в программе еще присутствует персонаж Кот — графический объект-спрайт, а коты тоже царапаются.
НАЧАТЬ С НУЛЯ
А если копнуть чуть глубже, то «from scratch» переводится как «с нуля», и именно так задумывался весь проект — как инструмент, который сделает программирование простым и интуитивно понятным для новичков, у которых совершенно нет опыта в этой сфере.
Программируем в scratch
Сайт сообщества и среды программирования находится по адресу https://scratch.mit.edu.
А примеры рассматриваемых проектов доступны на моей странице сообщества.
Свойства объекта (спрайта)
Важно понимать, что спрайт (sprite) – это не просто картинка, это объект, связанный программным кодом и, как следствие, наделённый свойствами и поведением. Именно поэтому спрайты — основа компьютерных игр и анимаций. У каждого спрайта есть свойства:
У каждого спрайта есть:
- Имя (название);
- Положение по X и Y на сцене;
- Размер (в %);
- Направление (куда смотрит, куда повёрнут);
- Видимость (скрыт или видим).
ВАЖНО.
Необходимо выработать хорошую привычку: каждому спрайту нужно задавать логически-осмысленное имя. Это требуется для того, чтобы впоследствии не путаться в спрайтах, число которых, в процессе разработки программы, может серьёзно возрасти.
Где «живут» спрайты?
Кот в Scratch – не единственный объект-спрайт. Добавить на сцену другие можно несколькими способами:
- загрузить картинку с компьютера;
- нарисовать в самой среде программирования;
- выбрать из библиотеки.
Для всего этого есть специальное меню:
Частая ошибка — написание кода для другого спрайта. Чтобы не перепутать, необходимо всегда проверить: какой из спрайтов активен. Его изображение всегда отображено в полупрозрачном виде в правой верхней части окна кода:
Копирование (дублирование, перенос) кода:
Копирование (дублирование) кода возможно:
Источник: progoschool.ru
Урок 3. Программа Scratch (Скретч) Спрайт в движении.
Scratch Tutorial: создание табло
Создавая игру в Scratch, программисты могут захотеть создать визуальное табло для отслеживания очков — скажем, количества собранных монет или побежденных вами злодеев.
В этом руководстве предполагается, что вы уже немного использовали Scratch и знаете, как работают спрайты, костюмы, переменные данных и трансляция. Я добавил ссылки на вики-страницы по этим темам, если вы этого не сделали, но это все равно может сбивать с толку.
Самый простой способ вести счет — создать переменную данных, которую вы обновляете каждый раз, когда набирается балл. Чтобы показать результат, просто установите флажок рядом с этой переменной на панели инструментов, чтобы значение появилось в программе.
Вот и все! В вашей игре есть табло.
Но . что, если вы хотите, чтобы ваше табло выглядело как часть дизайна игры, а не просто показывало версию Scratch? А как сделать так, чтобы счет изменился? Вот где начинается самое интересное, и я покажу вам, как это сделать. Вы можете создать свое собственное табло или многое другое с числами в Scratch, используя то, что вы здесь узнаете.
Каждый раз, когда мы хотим показать символы или графику в программе Scratch, мы будем использовать спрайты. Если вы еще не знаете, как использовать спрайты, ознакомьтесь с одним из начальных уроков по Scratch.
Чтобы сделать базовое табло, я собираюсь использовать встроенные изображения спрайтов, которые поставляются с Scratch. Внутри прилагаемой библиотеки спрайтов находятся все буквы английского алфавита и цифры от нуля до девяти. Мы будем использовать «пиксельные» версии, чтобы они выглядели как табло видеоигр. Если вы хотите найти или нарисовать свои собственные цифры от нуля до девяти, вы тоже можете это сделать.
Костюмы
Первое, что мы собираемся сделать, это открыть спрайт «0-пиксель» в нашем проекте. Затем перейдите на вкладку костюмов и загрузите все остальные цифры, пока у вас не будут загружены костюмы от нуля до девяти в качестве костюмов для вашего спрайта. Убедитесь, что они расположены по порядку — 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 — потому что мы скажем Скретчу автоматически пролистывать их, чтобы показывать счет по мере его увеличения.
Костюмы — это просто способ изменить изображение, которое отображается для спрайта, так что вы можете изменить его внешний вид во время игры, не создавая полностью новую копию. Для нашего табло мы используем цифры от нуля до девяти в качестве костюмов, чтобы мы могли изменить табло так, чтобы оно выглядело как более высокий результат всякий раз, когда переменная данных увеличивается. Когда есть ноль очков, мы используем нулевой костюм, когда есть одно очко, мы используем один костюм, вплоть до девяти. А как насчет того, если вы хотите перейти от девяти до десяти, ста или одного миллиона? Мы вернемся к этому позже .
Обновление вашего счета
Когда у вас будут готовы костюмы, пора начинать следить за счетом. Как только мы это сделаем, мы вернемся к костюмам и добавим код, чтобы они менялись при изменении счета.
Во-первых, вам нужно создать переменную данных, о которой я упоминал в самом начале. Щелкните свой спрайт, затем щелкните раздел «Данные» на панели инструментов и щелкните «Создать переменную». Вы можете называть эту переменную как хотите, я предлагаю вам назвать эту переменную «score», поскольку это довольно очевидно.
Когда у вас есть переменная, вам понадобится код, чтобы она изменилась. Лучший способ сделать это в Scratch — послушать трансляцию. Каждый раз, когда в вашей программе происходит что-то, что может изменить счет, вы можете передать сообщение, которое получит спрайт с очками, а затем обновить счет за вас.
Совет: Хорошие программисты всегда называют свои переменные так, чтобы было как можно яснее понимать, какие данные они содержат, потому что, когда программы становятся очень большими, появляется множество переменных, и их становится трудно отслеживать.
В примере проекта я добавил спрайт кнопки, чтобы набрать больше очков.
Этот спрайт имеет только следующий код:
Затем в спрайте цифр на табло я добавил этот код:
Что тут происходит? Что ж, всякий раз, когда вы нажимаете кнопку-спрайт, он сообщает остальной программе, что следует увеличить счет («приращение» — это причудливый способ сказать «увеличить число на единицу»). Спрайт табло ожидает этого сообщения и всякий раз, когда он его получает, увеличивает переменную данных счета на единицу.
В вашей игре вы можете транслировать сообщение «увеличение очков» всякий раз, когда вы собираете монету, убиваете плохого парня или выполняете любое другое действие, которое должно привести к увеличению количества очков. Любой спрайт в вашей игре может транслировать это сообщение, поэтому есть много способов обновить ваш счет.
Совет: вам не нужно каждый раз увеличивать счет только на одно очко. Вы можете создавать разные сообщения, например «счет плюс один» или «счет плюс десять», чтобы разные игровые действия могли приносить больше или меньше очков.
Математика !?
Итак, теперь у нас есть спрайт с костюмами, и у нас есть переменная очков, которая увеличивается, когда мы ей говорим, и меняем костюм, чтобы он соответствовал. Но это позволяет нам отслеживать только результат от нуля до девяти, что довольно скучно (если вы не играете в футбол!).
Если мы хотим, чтобы наше табло стало действительно высоким, мы должны использовать более одной копии нашего спрайта, и каждая из них должна менять свой костюм в нужное время, чтобы цифры работали. Например, если я хочу, чтобы моя оценка превысила девять баллов, мне нужно добавить вторую цифру рядом с первой. Когда первый набирает «9», следующее набранное очко должно заставить его вернуться к «0», а цифра рядом с ним должна измениться на «1», что означает «10»:
Да, переход от «9» к «10» на самом деле довольно сложен, потому что два разных спрайта должны работать вместе, чтобы показать правильные числа!
Для следующих девяти баллов первая цифра увеличивается, как обычно, пока снова не достигнет «9», а следующая набранная точка должна снова изменить ее на «0», в то время как вторая цифра изменится. до «2» — оценка 20. Если мы правильно введем код, эти два спрайта могут составить табло, которое начинается с «00» и продолжается до «99».
Чем больше спрайтов мы добавляем, тем больше числовых мест мы можем заполнить, чтобы увеличить наш общий возможный счет. На изображении ниже показано трехзначное табло, что означает, что в разряде единиц, десятков и сотен спрайт. Это табло может доходить до 999!
Но как заставить каждый спрайт изменяться с разной скоростью? Здесь на помощь приходит математика и особая функция программирования, называемая modulo.
Во-первых, давайте рассмотрим, как менять костюм при изменении счета:
Эта часть довольно проста. Приведенный выше код выполняет две функции: (1) всякий раз, когда мы перезапускаем игру, щелкнув флаг, мы сбрасываем счет до нуля, а также устанавливаем для костюма цифру «0»; и (2) всякий раз, когда получено сообщение об увеличении очков, мы обновляем счет, добавляя к нему 1, а затем переключаемся на следующий костюм. Если мы расставим костюмы по порядку, как и положено, картинка изменится с 0 на 1, на 2, на 3… вплоть до 9.
Следующий фрагмент кода, который мы собираемся добавить, касается математики. Итак, сначала я объясню, что делает функция modulo. Modulo — это просто ярлык для вычисления остатка от любого деления. Страница Википедии дает хорошее математическое определение, но оно может сбивать с толку, поэтому я покажу несколько примеров.
Когда вы разделите 9 на 4, вы получите 2,25. остаток от этого деления равен 1. Если вы помните школьную арифметику, это потому, что «целая» часть 2,25 равна 2, и когда вы умножаете это на делитель (4), вы получаете 8. 9–8 = 1, так что это остаток. Вот еще несколько примеров:
12/6 = 2 и 2 x 6 = 12, не оставляя остатка (12–12 = 0).
17/3 = 5,67 и 5 x 3 = 15, в результате остается 2 (17–15 = 2).
122/9 = 13,55 и 13 x 9 = 117, в результате остается 5 (122–117 = 5).
Вы, наверное, уже видите, что есть несколько шагов для вычисления остатка, поэтому функция по модулю очень удобна. Большинство языков программирования используют символ «%» для обозначения модуля; в Scratch в списке операторов это называется «мод». Таким образом, мы могли бы написать 9% 4 = 1 в программном коде, чтобы получить остаток для нашего первого примера за один шаг.
Уф, извини за это! Бьюсь об заклад, вам интересно, как это связано с нашим табло? Что ж, одна вещь, которая действительно удобна по модулю, — это выяснить, делится ли одно число равномерно на другое. Если остаток равен 0, это означает, что числа делятся поровну. Хотите, чтобы ваша программа проверяла, четное или нечетное число?
Просто используйте по модулю: если x% 2 = 0, тогда x — четное число, если x% 2 = 1, то x — нечетное число. Очень удобно!
Совет: действительно важно знать математику, если вы хотите быть хорошим программистом. Компьютеры — это на самом деле просто причудливые математические машины, поэтому вам очень помогает запоминание вашей базовой математики.
Для нашего табло мы используем обычные старые базовые десять чисел.
В месте единиц, когда результат можно разделить поровну на 10, нам нужно вернуться к костюму 0.
В разряде десятков, всякий раз, когда счет можно разделить поровну на 10, нам нужно перейти к следующему костюму, но если его можно разделить поровну на 100, нам нужно вернуться к костюму 0.
В разряде сотни, всякий раз, когда счет можно разделить поровну на 100, нам нужно перейти к следующему костюму, но если его можно разделить поровну на 1000, нам нужно вернуться к костюму 0.
Видите, к чему это идет? Для каждого спрайта мы можем использовать модуль по модулю, чтобы принять решение, нужно ли нам переходить к следующему костюму или сбросить его до нуля.
Вот полный код самого простого спрайта:
Вы можете увидеть, как мы используем оператор по модулю («mod»): всякий раз, когда оценка увеличивается, нам нужно знать, должен ли показанный нами костюм подняться до следующего числа или должен вернуться к нулю. Modulo позволяет нам проверить, равен ли остаток (оценка% 10) 0, что означает, что мы должны выполнить сброс — в противном случае мы перейдем к следующему костюму.
Если это сбивает с толку, не волнуйтесь! На самом деле это довольно сложный материал для программирования, и многим программистам сложно его изучить.
Теперь я покажу вам код спрайта десятки:
Вы можете видеть, что требуются два теста: во-первых, чтобы увидеть, делится ли оценка равномерно на 100, что означает, что нам нужно сбросить, а во-вторых, чтобы увидеть, делится ли оценка на 10, что означает, что нам нужно показать костюм со следующей цифрой.
Бьюсь об заклад, вы можете догадаться, как тогда выглядит спрайт сотни:
Правильно, это почти то же самое, что и спрайт десятки — мы только что изменили наши тесты mod, чтобы использовать 1000, а затем 100 на этот раз, так как мы работаем с большим числом, кратным десяти.
Чтобы использовать эти спрайты в своем собственном проекте, просто добавьте каждый из них и поместите его на место, где он принадлежит — спрайт ones в крайнее правое положение, затем десятки на слева от него и сотни слева от него. Если вы хотите, чтобы ваше табло поднялось еще выше, можете ли вы выяснить, как копировать спрайты и изменять тесты по модулю?
Бонус: спрайт Any
Я создал еще один спрайт в примере проекта и покажу вам код здесь. Этот спрайт называется любой:
Сможете догадаться, для чего нужен этот спрайт?
Спрайт any можно использовать для любого места на табло. Что я сделал, так это добавил вторую переменную под названием «base», которая позволяет вам самостоятельно установить значение теста мода. Вы можете просто продублировать этот спрайт бок о бок столько раз, сколько захотите, и при необходимости изменить «базовую» переменную, чтобы сделать табло настолько большим, насколько вам нужно.
Сравните «базовую» переменную с другими спрайтами, которые я уже показал вам — можете ли вы заставить любой действовать как спрайты, десятки или сотни?
Это пример создания повторно используемого компонента для вашей программы. Используя переменные для изменения настроек спрайта, один спрайт можно использовать снова и снова, но при необходимости настраивать его поведение по-разному. Это довольно эффективно!
Вывод
Что ж, многому пришлось научиться, но я надеюсь, что это поможет вам увидеть, насколько мощными могут быть числовые функции в Scratch. Вы можете сделать гораздо больше, и я показал вам только одну особую функцию!
Я создал образец проекта на Scratch, в котором есть все эти спрайты, поэтому вы можете посмотреть код и щелкнуть кнопку, чтобы увидеть, как каждый раз изменяется оценка. Я также создал проект на GitHub для хранения кода, так что вы можете загрузить его и импортировать спрайты прямо в свой собственный проект, если хотите.
Удачи и приятного кодирования!
Источник: questu.ru
Самый активный спрайт и эмблема программы Scratch это . кто ответит подпишусь
Which is the best website designer in delhi/ncr? how to find the cheapest but the best website designing company in delhi?
Информатика, 24.04.2019 18:08
Сор по информатике 6 класс 4 четверть
Информатика, 29.04.2019 18:35
Имеется набор карточек с числами, среди которых есть 7. карточки перевернуты числами вниз. требуется определить какой по счету карточке сверху находится 7. написать программу паскаль.
Информатика, 07.05.2019 21:27
Составьте алгоритм с исполнителем черепаха который нарисует на экране компьютере куб
Информатика, 13.05.2019 12:35
Подготовить презентацию на тему «форматы звука». позжалуйста!
Информатика, 14.05.2019 22:48
На с++! ! вводится определенное кол-во строк, требуется вывести строки в порядке уменьшения(от строки в которой больше всего символов , до той в которой меньше всего символов).
Информатика, 15.05.2019 10:36
Что будет выведено на экран после выполнения фрагментов программ (составить трассировочную таблицу b: = 0; a: = 5; repeat b: = b + 10; a: = a + 1; until a=5; write(b);
Информатика, 17.05.2019 10:54
ответить на этот вопрос. мне затруднительно. заранее
Информатика, 19.05.2019 20:20
3с циклических алгоритмов для а в с паскаль
Информатика, 20.05.2019 16:47
Назови исполнителя и системы команд исполнителя из сказок: 1.волшебная лампа аладина. 2.емеля. 3.сивка-бурка. 4.хаврошечка. 5.маша и медведь.
6.цветик-семицветик. пример: царевна лягушка-исполнитель: избушка на курьих ножках; системы команд исполнителя (ски): избушка, избушка! встань ко мне передом, к лесу задом!
Информатика, 21.05.2019 09:37
Укажите минимальный объём памяти (в килобайтах), достаточный для хранения любого растрого изображения размером 64*64 пикселя, если известно, что в изображении используется палитра из 256 цветов. саму палитру хранить не надо.
Источник: 5otvet.com