каковы правила именования основного класса в Haxe? - PullRequest
3 голосов
/ 06 мая 2020

На главной странице на haxe.org - есть игра Rock Scissors Paper, закодированная внутри class Game.

Я загрузил редактор HaxeDevelop и создал новый проект. Когда я зашел в папку src/ этого проекта, там был файл Main.hx, содержащий этот скелет

package;

import js.Lib;

/**
 * ...
 * @author Terrence Brannon
 */
class Main 
{

    static function main() 
    {

    }

}

, и мне интересно, следует ли мне изменить класс с Main на Game и где задокументированы правила наименования класса точки входа для проекта Haxe.

Ответы [ 2 ]

5 голосов
/ 06 мая 2020

Имена классов должны начинаться с заглавной буквы и сопровождаться буквами az или AZ (также можно использовать подчеркивание).

Вы определяете свой основной класс, когда вы вызываете команду haxe из терминала, за которой следует параметр пары, такие как имя основного класса, -main Main

https://haxe.org/manual/compiler-usage.html

Вы можете поместить свой класс в папку и добавить 'package folderName;' в верхней строке над вашим классом, а затем вы можете вызвать его с помощью haxe.

haxe -main folderName.Main ...add other compiler property pairs.

Итак, «Game» - допустимое имя. Одна важная деталь заключается в том, что программе Haxe требуется начальная c функция stati, она всегда называется 'main', ее можно использовать для создания класса.

class Game {
    static function main(){ new Game(); } // need a main static function.
    public function new(){
        // actual game class starts.
        trace( 'game started');
    }
}

Обычно вместо того, чтобы записывать все параметры компилятора в в командной строке помещаем им файл с расширением .h xml ie: compile.h xml

https://haxe.org/manual/compiler-usage-hxml.html

Крест наборы инструментов платформы используют вместо этого определения json или xml, а иногда и инструменты для их создания, а не запускают компилятор haxe напрямую, это потому, что они делают дополнительные вещи, такие как размещение всех ваших ресурсов в выходной папке для вас, и обрабатывают такие аспекты, как общие настройки для таргетинга на c ++ или js без необходимости иметь разные файлы h xml.

Например, популярная кроссплатформенная графическая библиотека для браузеров, настольных компьютеров и мобильных устройств openfl описывает инструменты сборки здесь:

https://lime.software/docs/command-line-tools/create-new-project/

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

Хорошее место для общения с пользователями Haxe находится на сервере haxe Discord, я думаю, что эта ссылка, вероятно, должна работать:

https://discord.gg/Agt3sJA

Основная перекрестная цель - богатые графикой (подходящие для игр) наборы инструментов для Haxe:

Для традиционной веб-разработки вы можете напрямую настроить таргетинг js, но также Haxe предоставляет некоторые f rameworks, такие как:

И, очевидно, вы можете используйте Electron (или Krom см. Kha) для приложений nodejs. - https://github.com/tong/hxelectron

Я не совсем уверен, какие именно библиотеки c PHP, Java, C#, Lua, Python следует упомянуть, но общие Haxe, которые кажутся популярными и очень полезными для всех целей:

Не все, но тестер полезных ссылок, которые приходят на ум.

Для общих руководств по Haxe есть много мест, но, возможно, хорошее место для начала - это работа через поваренную книгу.

1 голос
/ 06 мая 2020

Вы можете назвать свой класс точки входа так, как хотите.

  • Если ваш файл называется Main.hx, вы должны запустить его с haxe -main Main.
  • Если ваш файл называется Game.hx, вы должны запустить его с haxe -main Game.
  • Если ваш файл называется Test.hx, вы должны запустить его с haxe -main Test.
  • .. и так далее

Если вы используете FlashDevelop, вы должны установить этот файл как точку входа. Щелкните правой кнопкой мыши в диспетчере проектов и выберите «Класс документа». Это также даст ему другой значок (зеленый sh). entry point in HaxeDevelop

Не существует стандартного соглашения об именах, потому что это может зависеть от того, что делает ваше приложение. Я видел Main, Application, Test, а также более интересные имена.

https://haxe.org/manual/compiler-usage-hxml.html

Обратите внимание, что вы не можете использовать другое имя для stati c функция точки входа внутри класса.
Это всегда static function main() { }.

...