AngelScript Help

Документация

Использование UjAPI позволяет вам использовать новый, современный язык программирования и познать все прелести современной разработки.

В чём особенность AngelScript?

Строгая статическая типизация

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

Возможность создавать свои объекты

Окунитесь в мир современного объектно ориентированного программирования с инкапсуляцией, наследованием и куртизанками.

Импорт

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

Скорость

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

Пример кода

#include "Scripts\\blizzard.as" // это подключит blizzard.as (транспилированный blizzard.j) в проект. void SomeFunction(){ print("SomeFunction\n"); } void [[[main|main.html]]](){ TimerStart(CreateTimer(), 1.f, false, @SomeFunction); // @ используется для создания делегата, в данном случае ссылки на функцию. TimerStart( CreateTimer(), 1.f, false, function(){ print("OnSomeTimerAction\n"); }); // Данный вид написания тоже валиден, в данном случае мы используем лямбду (анонимную функцию). // Пример лямбды с триггером. trigger tTest = CreateTrigger(); player p = Player(0); TriggerRegisterPlayerEvent(tTest, p, EVENT_PLAYER_ARROW_LEFT_DOWN); // ConvertPlayerEvent(261) TriggerAddCondition(tTest, Filter(function(){ print("OnSomeStupidCond\n"); return true; })); TriggerAddAction(tTest, function(){ print("OnSomeStupidAct\n"); }); } void config(){ // Логика этой функции в точности копирует поведение функции config в Jass, потому тут показывать нечего. }
Last modified: 16 October 2024