Перейти к основному содержанию

Введение в Catnip (Котомяту)

13 июня 2024 г.

Введение в Catnip (Котомяту)

Автоматически переведённая страница

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

Catnip, или Котомята по-русски — это визуальный язык программирования, созданный специально для ct.js. Он похож на Google Blocks или язык Scratch, но при этом имеет множество улучшений для удобства использования по сравнению с этими языками. Он компилируется непосредственно в JavaScript, поэтому он такой же быстрый и мощный. На этой странице мы рассмотрим его функции и как писать скрипты с помощью него.

Совет

Если вы еще не сделали этого, ознакомьтесь с основными концепциями, чтобы познакомиться с различными типами ресурсов в ct.js.

Создание проекта Catnip

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

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

Написание сценариев для Catnip

Когда вы открываете скриптовый актив (шаблон, поведение или переходите к панели событий комнаты), у вас будет три-четыре колонки:

  1. Колонка с главными настройками ассета, такими как текстура шаблона и список событий в этом ассете;
  2. Главная зона для скриптов, где вы помещаете свои блоки;
  3. Библиотека блоков со всеми блоками, которые вы можете использовать;
  4. В шаблонах есть четвертая колонка с свойствами шаблона. Если вам нужно больше места, вы можете свернуть ее с помощью маленькой кнопки в правом верхнем углу.

Четыре колонки при кодировании шаблонов

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

Вы можете помещать блоки несколькими способами:

  1. Вы можете перетаскивать блоки из библиотеки блоков в зону для скриптов;
  2. Вы также можете переместить курсор мыши между блоками или в верхнюю часть скрипта — появится линия с кнопкой «плюс», которая откроет поле поиска. Вы можете поместить первый блок, нажав Enter или переключиться между ними с помощью клавиши Tab. Помещение любого блока с помощью этого поиска автоматически откроет новое окно поиска, позволяя быстро вводить серию блоков с клавиатуры.

Открытие меню поиска в Catnip
Поиск блоков в Catnip

Аналогичный поиск расположен в верхней части библиотеки блоков, но вы сможете помещать блоки только с помощью перетаскивания (поскольку иначе как узнать, куда нужно их поместить?). Оба поиска будут выводить блоки, если вы вводите имена блоков на английском языке или на языке интерфейса, используемого в Catnip.

Типы блоков

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

Командный блок с одним аргументомВычисляемый блок
Перейти к MainMenuтекущая комната

Вычисляемые блоки отличаются цветом, а цвет указывает на тип возвращаемого значения:

ЛогическийЧисловойСтроковыйЦветовойУниверсальный
не trueскорость цвет текущая комната

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

Чтобы облегчить преобразования типов (например, при необходимости форматирования строки с динамическим переменной цены), Catnip имеет несколько специальных вычисляемых блоков:

Пример: изменить текст в строку, содержащую число

Задать текст+в строкуценаxскидка

Свойства и переменные

У Catnip огромное количество блоков для манипуляции внешним видом, положением и движением ваших копий, но чаще всего вам понадобится создать дополнительные значения, чтобы управлять логикой игры. Эти значения называются свойствами и переменными, и их можно рассматривать как помеченные имена с данными. И свойства, и переменные — это вычислительные блоки, которые вы можете использовать везде в Catnip.

В зависимости от того, где и в каком событии вы пишете код, вы можете использовать несколько типов переменных и свойств:

Полезные функции Catnip для написания скриптов

Возвращаемые значения справа

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

Воспроизвести звукInGameTheme
сохранить вмузыка
Дополнительно
ПримечаниеОстановить звукмузыка

Мутаторы

Щелкнув правой кнопкой мыши по некоторым блокам, вы откроете расширенный контекстный меню с командами, позволяющими заменить выбранный блок на похожий. Значения, которые присутствуют в обоих блоках, будут сохранены. Например, попробуйте щелкнуть правой кнопкой мыши по математическим блокам, логическим блокам или блокам с значениями x/y или ширина/высота.

Исправление ошибки с помощью мутатора путем щелчка правой кнопкой мыши по блоку
Исправление ошибки путем замены блока щелчком правой кнопкой мыши

Что дальше?

Изучите, как использовать условия и циклы If-Else для выполнения скриптов условно и автоматизации повторяющихся действий в следующей главе.

Your primary language is en-US, do you want to switch to it?

Ваш основной язык - en-US, вы хотите переключиться на него?