Как сделать счет в скретч
Перейти к содержимому

Как сделать счет в скретч

  • автор:

Цель урока Познакомится с языком программирования Scratch, научится составлять программу и создать игру. Что нового

Добавляем рекорды
Можно еще добавить рекорды – создаем переменную. Мы будем задавать такое же значение рекорда, как и в счете, если тот станет больше, чем значение рекорда:

Добавляем скорость
Сначала руками меняем скорость в команде “идти 10 шагов”. Затем добавляем переменную “скорость” — задаем ей в начале программы значение 10, вставляем её в блок “счет” ‘>»идти . шагов» .

Теперь скорость мяча зависит от значения этой переменной.
Затем когда “счет” увеличиваем до 5, то увеличиваем скорость до 12. Затем когда “счет” увеличиваем до 10, то увеличиваем скорость до 14 шагов.

Окончание урока
1. Спрашиваем, как урок?
2. Что понравилось/что не понравилось?
3. Хочешь ли продолжать заниматься?

Красивый счётчик

Во многих наших играх мы научились считать очки. Это и число спасённых зверушек, и собранные предметы! Счётчик может быть полезен в игре «Гонки» при подсчёте кругов по треку. Однако, до сих пор, он представлял собой переменную, которую с помощью «галочки» мы делали видимой:

Счётчик очков

Чтобы наше приложение выглядело лучше, предлагается способ создания красивого счётчика с помощью клонов. Разумеется, переменная для подсчётов очков остаётся, но подсчёт теперь представим отдельным спрайтом с набором цифр. В числе готовых спрайтов есть красивые цифры:

Разумеется, их можно использовать. Для этого в новом проекте в качестве счётчика выберем спрайт Glow-1 (т.е. единицу):

Счётчик, как отдельный спрайт

Пока удалим кота, переименуем Glow-1 в «Счётчик» и перейдём в Костюмы:

Счётчик - первый костюм

Теперь добавим спрайт Glow-2 (т.е. двойку) и снова перейдём в Костюмы, но уже «двойки». Далее выберем костюм «Glow-2» и перетащим его на спрайт «Счётчик»:

В результате перетаскивания у спрайта «Счётчик», у которого пока был один единственный костюм с единицей, появится и спрайт с двойкой:

Счётчик: спрайты

Аналогично добавляем спрайт Glow-3 (т.е. тройку), таким же способом перетянем её в качестве костюма для «Счётчика». Далее, всё так же, перетянем и «четвёрку», «пятерку»… и так — до «девятки». Последним костюмом должен быть Glow-0 (т.е. ноль). Готовый спрайт счётчика можно скачать, нажав кнопку «Спрайт» ниже:

Для скачивания спрайта «Счётчик.zip» нажмите кнопку «Спрайт«:

Теперь пора к спрайту счётчика добавить код. В первую очередь нужен подсчёт клонов. Для этого в нашем единственном пока спрайте «Счётчик» создадим локальную переменную «Клоны«:

Счётчик клонов

Первая часть кода будет создавать число спрайтов, отражающих разрядность счётчика:

Счётчик: активация клонов

Что будем считать?

Счётчик бесполезен, если нет предметов, очков или событий для подсчёта. В нашем случае будет подсчёт кругов. Поэтому нам понадобится переменная «Круги» (для всех спрайтов). Уже известным способом переименуем «Моя переменная» в «Круги»:

Счётчик: переименовать

Счётчик кругов

Теперь можно доработать код и посмотреть: где и как будет выглядеть наш трехзначный счётчик:

Счётчик - клоны разрядов

После того, как оптимальные координаты подобраны, код «Счётчика» будет выглядеть так:

И теперь, при нажатии «Флажка» мы будем видеть только ноль — значение переменной «Круги».

Создадим трек, по которому будет бегать жук (добавим этот спрайт — Beetle):

Для создания трека нужно будет перейти в фоны и проверить, что находимся в режиме векторной графики. Следующим шагом необходимо выбрать тёмно-желтый цвет:

и нарисовать прямоугольник толщиной 5 пикселей, не забыв его отцентровать (примерно так):

Перейдя в режим «Изменение формы«, необходимо поставить восемь дополнительных точек. Ставим их приблизительно, как показано на рисунке ниже:

Далее необходимо выделить и удалить четыре угловые точки:

В результате получится прямоугольник с скруглёнными краями:

Чтобы получился трек, с помощью инструмента «Выбрать«, необходимо выделить и скопировать полученный скруглённый прямоугольник:

Нажав «Вставить» необходимо поменять цвет на светло-коричневый, увеличить толщину до 45 пикселей, перейти на задний план и отцентровать:

Подберите размер жука и поставьте его в начало трека. Должно получиться примерно так:

Управление жуком

Научим жука ходить вдоль жёлтой линии. Перейдём в его костюмы. Как известно, у жука два передних «уса» служат своего рода датчиками. Используем их по назначению. Для этого удалим существующие усы и добавим собственные, двух разных цветов (красный и синий усы):

Усы должны располагаться так, чтобы жёлтая линия трека проходила между ними, хотя и близко, но не задевала их:

Если красный ус коснётся желтой линии трека, то жук начнёт плавно поворачивать влево, если же синий, то — вправо. Напишем код для жука:

Если всё выполнено верно, то жук будет ходить по треку, вдоль желтой линии. Осталось посчитать круги и задействовать, наконец, наш счётчик.

Старт и финиш

Нарисуем ещё один спрайт, в костюме которого нарисуем финишную прямую (размер 15 х 30 пикселей):

Рисуем в режиме растровой графики, используя линии и заливку:

Получится примерно так (стартовые координату по Y необходимо подобрать):

Код для финишной прямой будет таким:

Ну вот и всё! Можно посмотреть в действии не только, как работает счётчик, но и на жука, который сам ходит по треку, не отклоняясь от жёлтой линии. Позже мы научимся, как можно двигаться по линии, не изменяя костюм спрайта.

Проверь себя в готовом проекте здесь?

ПРОТЕСТИРУЙ. РАЗБЕРИСЬ САМОСТОЯТЕЛЬНО, ЧТО ДОБАВЛЕНО.

Облачная переменная

Облачные данные — это функция, которая позволяет пользователям хранить переменные, содержащие числа, на сервере Скретч. Облачные переменные имеют символ «☁» (значок облака в шрифте Скретч), чтобы отличать их от обычных переменных. При этом если на устройстве пользователя данный шрифт не поддерживается, то облако может выглядеть иначе. Журналы облачных данных могут быть удалены лицом, создавшим проект. Например, если есть тест, и кто-то не хочет показывать свой счет, но он попадает в журнал, создатель может удалить журнал. Существует ограничение в десять облачных переменных на проект.

Новые Скретчеры не могут пользоваться облачными переменными. Команда Скретч не хочет, чтобы новички в Скретч неправильно использовали облачные переменные, так как это может создать большую нагрузку на систему, с которой она не может справиться, что, скорее всего, приведет к тому, что функция не будет работать.

Облачные переменные используют обычные блоки, связанные с переменными. Единственное отличие состоит в том, что значение действительно глобально и отражается во всех копиях проекта, просматриваемых на сайте Скретч.

Поскольку облачные данные хранятся на сервере, облачные переменные нельзя использовать в автономном редакторе.

Функциональность

Облачные переменные поддерживаются через безопасное соединение с помощью WebSockets.

Чтобы избежать перегрузки инфраструктуры облачных данных, обновления облачных данных ограничены определенным числом в секунду при запуске проекта. Всегда следует избегать попыток обновить переменную облака в быстром цикле, который не ждет обновления. Как правило, следует тщательно рассмотреть, как часто обновляется переменная облака, и пытаться ограничить любые обновления только раз, когда это необходимо, например, когда значение действительно изменяется, и ограничить частоту обновления переменной.

Если переменная обновляется слишком часто, сервер облачных данных временно отключит соединение, и обновления не будут отправляться на серверы облачных данных до тех пор, пока соединение не будет автоматически повторно открыто после периода ожидания переменной.

Облачные данные имеют предел до десяти (10) переменных облака для каждого проекта. Облачные переменные могут содержать только числа (в отличие от обычных переменных, они не могут содержать буквы). Также был реализован предел символов из 256 цифр на переменную. Шестнадцатеричные числа больше не поддерживаются.

Примеры использования

  • Лучшие результаты/лидеры
если (☁ мировой рекорд)>, то задать [☁ мировой рекорд v] значение (рекорд) иначе сказать [Вы не побили рекорд!] end
  • Победа / проигрыш (до тех пор, пока счет не заканчивается нулевой цифрой)
если <(очки человека) >(очки компьютера)>, то задать [☁ выиграли v] значение (объединить (объединить (очки человека) [.]) (очки компьютера)) иначе задать [☁ проиграли v] значение (объединить (объединить (очки человека) [.]) (очки компьютера)) end
Спросить [Голосуйте за Пепси или Колу! Какой твой любимый?] и ждать если , то изменить [☁ голосов за Пепси v] на (1) иначе если , то изменить [☁ голосов за Колу v] на (1) иначе сказать [Извините! Ответ не понят.] end end

История облачных данных

Когда Команда Скретч выпустила бета-версию облачных данных, они создали публичные журналы для проектов с облачными данными, показывающие, какая была изменена облачная переменная, в какое времея, кто изменил данные, текущее значение данных и тип действия.Чтобы попасть в журнал, просто нажмите на кнопку облачных данных внизу страницы проекта. Это покажет вам пользователей, которые изменили данные облака и в какое время. Если пользователь, не являющийся владельцем проекта, изменит блоки облачных данных, увидев их изнутри, данные в облаке не будут сохранены. После выпуска Скретч 3.0 команда Скретч по ошибке установила ограничение на восемь облачных переменных на проект вместо десяти. 9 января это было исправлено.

Проблемы с облачными данными

В октябре 2016 года облачная инфраструктура начала периодически выходить из строя. В результате многие многопользовательские проекты не работали правильно. Это объясняется постоянно растущим числом активных пользователей, использующих облачные переменные, причем некоторые проекты отправляют до 30 запросов на облачную переменную в секунду. Это эффективно «спамит» облачный сервер с нагрузкой, которая не может быть обработана текущей инфраструктурой, и отключает ее.

Текущий статус

В качестве временного исправления облачные переменные переключились на использование другого метода опроса, который является более надежным, но значительно медленнее. Кроме того, интервал опроса был увеличен, чтобы предотвратить спам. Этот новый метод работает, но может привести к тому, что облачные переменные будут «резинкой» и сброшены к предыдущему значению после его изменения, а также сделают многие многопользовательские проекты не «в реальном времени» или полностью нарушат их в целом.

По состоянию на август 2017 года новая система облачных данных была в бета-версии. Она использовала безопасные WebSockets в качестве канала связи. Чтобы использовать новую систему, нужно было добавить ?newcloud в конец URL-адрес проекта. Система теперь по умолчанию.

Cookie-файлы помогают нам предоставлять наши услуги. Используя наши сервисы, вы соглашаетесь с использованием cookie-файлов.

Вики работает в тёмной теме, и она включена! Есть советы? Отправьте их сюда: Тема форума о Скретч Вики

  • Эта страница в последний раз была отредактирована 3 декабря 2022 в 11:03.
  • К этой странице обращались 548 раз.
  • Политика конфиденциальности
  • О Скретч Вики
  • Отказ от ответственности

Переменная

Переменная — это участок временной памяти компьютера, хранящий какое-либо значение. Переменные используются для сохранения значения в программе. Например счёт в игре — переменная. Переменные можно изменять, а неизменяемая переменная называется константа. Кроме того есть ещё и облачная переменная, которая хранится на сервере. Если Вы новичок, то Вы не сможете создавать облачные переменные, и влиять на них в других проектах.

  • 1 Переменные в Скретч 2.0
  • 2 Примеры использования
    • 2.1 Счёт в игре
    • 2.2 Таймер

    Переменные в Скретч 2.0

    Кнопка «Создать переменную»

    Создайте новый проект. Чтобы создать переменную, нужно нажать на кнопку «Создать переменную» в разделе «Данные» палитры блоков и назначить ей имя. Вы увидите следующие блоки:

    • (пример переменной)
    • задать [пример переменной v] значение [0] — устанавливает строковое или числовое значение для выбранной переменной.
    • изменить [пример переменной v] на [1] — увеличивает выбранную переменную на указанное число; чтобы уменьшить — надо указать отрицательное число
    • скрыть переменную [пример переменной v] — скрывает переменную со сцены
    • показать переменную [пример переменной v] — показывает переменную на сцене

    По умолчанию, любая переменная имеет значение 0.

    Примеры использования

    Счёт в игре

    К примеру, нам нужно добавить очко игроку, если он собрал монетку. Вот скрипт для спрайта «монетка»:

    когда щёлкнут по зелёному флагу задать [счёт v] значение [0]//обнуляем счёт повторять всегда ждать до изменить [счёт v] на (10)//игрок собрал монетку и получил очки перейти на (случайное положение v)//перенос монетки в другое место end

    Таймер

    Чтобы создать игровой таймер, нужно сделать следующий скрипт:

    когда щёлкнут по зелёному флагу задать [время v] значение [0] повторять всегда ждать (1) секунд изменить [время v] на (1) end

    См. также

    Cookie-файлы помогают нам предоставлять наши услуги. Используя наши сервисы, вы соглашаетесь с использованием cookie-файлов.

    Вики работает в тёмной теме, и она включена! Есть советы? Отправьте их сюда: Тема форума о Скретч Вики

    • Эта страница в последний раз была отредактирована 10 ноября 2023 в 08:37.
    • К этой странице обращались 1700 раз.
    • Политика конфиденциальности
    • О Скретч Вики
    • Отказ от ответственности

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *