Материал из Скретч Вики
| Этот раздел или статья не предназначена для новичка! Она содержит сложную информацию. |
Перед началом работы
Все проекты сделанные в Скретч 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 | "выключить", "включить", и "перевёрнутый" |