Перейти к содержимому

Создание первого скрипта

На этой странице показано, как включить репозиторий шаблонов в свой первый рабочий скрипт Melonity.


Начните с примера проекта

Самый простой способ начать — использовать пример, уже включенный в шаблон:

Он уже демонстрирует несколько важных частей API:

  • регистрация сценария
  • menu вариантов
  • callbacks
  • простой рендеринг

Совет

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


Минимальная структура скрипта

Сценарий Melonity обычно начинается с ScriptDescription объект и вызов RegisterScript:

тс
позволять MyScript: ScriptDescription = {};

пространство имен мойскрипт {
	МойСкрипт.OnScriptLoad = () => {
		консоль.log(«Мой первый скрипт загружен»);
	};

	МойСкрипт.OnScriptUnload = () => {
		консоль.log(«Мой первый сценарий выгружен»);
	};

	RegisterScript(МойСкрипт, «Мой первый сценарий»);
}

Это минимально необходимая структура для очень простого скрипта:

  • ScriptDescription содержит callbacks, используемый Melonity
  • OnScriptLoad запускается при загрузке скрипта
  • OnScriptUnload запускается, когда скрипт выгружается
  • RegisterScript регистрирует скрипт в системе

IMPORTANT

Без RegisterScript, некоторые части скрипта могут по-прежнему работать, например параметры menu. Однако callbacks не будет работать, пока скрипт не будет зарегистрирован.


Добавьте простую опцию menu.

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

тс
константа PATH = [«Название вкладки», «Раздел навигации», «Имя блока»];

позволять включено = Menu.AddToggle(PATH, 'Давать возможность', ЛОЖЬ)
	.OnChange(состояние => {
		включено = состояние.новое значение;
	})
	.GetValue();

PATH элементы управления массивом, где параметр появляется в Melonity menu.


Добавьте простую логику скрипта

После регистрации скрипта вы можете использовать callbacks, например OnUpdate и OnDraw.

Пример:

тс
МойСкрипт.OnUpdate = () => {
	если (!enabled) {
		возвращаться;
	}

	консоль.log(«Скрипт выполняется»);
};

Если вы хотите нарисовать что-то на экране, вы также можете использовать OnDraw:

тс
МойСкрипт.OnDraw = () => {
	если (!enabled) {
		возвращаться;
	}

	Renderer.SetDrawColor(Color.YELLOW);
	Renderer.DrawFilledRect(300, 200, 120, 120, 8, Enum.RoundCorners.Все);
};

IMPORTANT

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


Проверяем работу скрипта

Ваш первый скрипт работает правильно, если:

  • npm run watch перекомпилирует проект без ошибок
  • сгенерированный .js файл записывается в правильную папку сценариев
  • сценарий появится в списке локальных сценариев в Melonity
  • скрипт включен в этом списке
  • Melonity загружает скрипт
  • OnScriptLoad срабатывает
  • ваш вариант menu появится в menu
  • скрипт реагирует, когда вы включаете или отключаете его

Совет

Если вы добавите новый файл в scripts папку и она не появляется в списке сразу, нажмите F7 перезагрузить скрипты.


Куда идти дальше

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