Материал из Скретч Вики
![]() |
Статья не предназначена для новичка! Она содержит сложную информацию. |
Перед началом работы
Все проекты сделанные в Скретч 2.0 сохраняются с расширением .sb2. но по настоящему являются ZIP архивом, содержащим файл project.json, графические и звуковые файлы. Я не буду описывать как открыть файл как ZIP архив, потому что считаю, что вы это умеете.
Туториал
Наша цель воссоздать:
задать [переменная v] значение []
в виде:
задать [переменная v] значение []::custom
Создайте новый проект. Сделайте блок:
задать [] значение []::custom определить задать (переменная) значение (значение) задать [переменная v] значение (значение)
Сохраните проект на компьютер и откройте его как ZIP архив. Найдите файл project.json и откройте его с помощью любого текстового редактора. Лично я использую Notepad++
Найдите следующую строку:
["procDef", "задать %s значение %s", ["переменная", "значение"], ["", ""], false]
"procDef"
- «proc» означает «процедура», а «def» означает «определить». Он сообщает Scratch, что это определение для блока. Не редактируйте эту часть.
"задать %s значение %s"
- Это имя нашего блока. %s - Это строковый вход. Знакомо?
["переменная", "значение"]
- Это параметры блока. тоже знакомо.
["", ""]
- Это значения блоков по умолчанию. В этом случае они пусты.
false
- Это логическое значение "запустить без обновления экрана"
Замените этот код на:
["procDef", "задать %s значение %m.var", ["переменная", "значение"], ["", ""], false]
Также замените:
["setVar:to:", "var", ["getParam", "значение", "r"]]
на:
["setVar:to:", ["getParam", "переменная", "r"], ["getParam", "значение", "r"]]
Сохраните файл. Зайдите в проект. Вы должны увидеть это:
задать [ v] значение []::custom определить задать (переменная) значение (значение) задать (переменная) значение (значение)
Протестируйте свой "взломанный" блок.
Скретч 2.0. Виды вводных параметров
Слоты
Имя | Описание | Внешний вид |
---|---|---|
%b | Логический слот | пример <>::#808080 |
%c | Цветовой слот | пример [#0000C0]::#808080 |
%d.вид меню | Цифровой слот с меню | пример (123 v)::#808080 |
%m.вид меню | Меню | пример [меню v]::#808080 |
%n | Цифровой слот | пример (123)::#808080 |
%s | Строковый слот | пример [строка]::#808080 |
Виды меню
Имя | Описание |
---|---|
attribute | Список атрибутов спрайтов |
booleanSensor | "кнопка нажата" и "A/B/C/D соединён" |
broadcast | Список сообщений и "новое сообщение" |
broadcastInfoMenu | Список сообщений и "показать отправителей/получателей |
colorPicker | Выбор цвета |
costume | Список имён костюмов |
direction | Список направлений |
drum | Список барабанов |
effect | Список имён эффектов |
instrument | Список инструментов |
key | Список имён клавиш |
list | Список имён списков |
listItem | "1", "последний" и "случайный" |
listDeleteItem | "1", "последний" и "всё" |
mathOp | Список математических операций |
motorDirection | Список направлений моторов |
note | Список имён нот |
procMenu | То же самое, что появляется при правом щелчке по блоку |
rotationStyle | "кругом", "влево-вправо" и "не вращать" |
sensor | "рычажок", "свет", "звук" и "сопротивление A/B/C/D" |
sound | Список имён звуков и "запись..." |
spriteOnly | Список спрайтов и "себя самого" |
spriteOrMouse | Список спрайтов и "указатель мышки" |
spriteOrStage | Список спрайтов и "Сцена" |
stop | "всё", "этот скрипт" и "другие скрипты спрайта" |
timeAndDate | "год", "месяц", "дата" и т.д. |
touching | Список спрайтов, "указатель мышки" и "край" |
triggerSensor | "громкость", "таймер" и "движение видео" |
var | Список имён переменных |
videoMotionType | "движение" и "направление" |
videoState | "выключить", "включить", и "перевёрнутый" |