Подтвердить что ты не робот

Haxe/OpenFL/Flixel

Я просматривал сайты Haxe/OpenFL/Flixel, но я стараюсь понять, для чего они предназначены.

Как я понимаю:

Haxe - это язык, который можно развернуть на нескольких платформах. OpenFL - это что-то общее с Flash. Flixel - это библиотека, которая поможет вам создавать игры.

Может ли кто-нибудь исправить меня/сделать его более ясным.

4b9b3361

Ответ 1

Haxe

Цитировать с haxe.org:

Haxe - это набор инструментов с открытым исходным кодом, основанный на современном высокоуровневом, строго типизированном языке программирования, кросс-компиляторе, полной кроссплатформенной стандартной библиотеке и способах доступа к собственным возможностям каждой платформы.

Язык:

Haxe - это язык программирования. Он похож на AS3, С# и т.д. Он строго типизирован, но имеет большой тип вывода. Он имеет множество мощных функций, таких как Pattern Matching, Enums (ADT), Macros и т.д. Они работают независимо от того, к какой цели вы хотите компилироваться.

Стандартная библиотека:

  • Haxe может компилироваться в JavaScript, C++, Flash, Java, С#, PHP, Neko, HashLink, Python и Lua. Он имеет стандартные классы низкого уровня, которые работают согласованно на разных платформах, таких как: String, Int, Float, Date, Map и т.д. Он также имеет некоторый полезный кроссплатформенный код для таких вещей, как сериализация, Xml, Json, форматирование Date и т.д.

  • Как правило, все на api.haxe.org, находящемся на верхнем уровне или в пакете haxe, будет работать независимо от цели, которую вы компилируете.

  • У каждой цели есть свой пакет. Они позволяют вам получить доступ к собственным возможностям этой цели через внешние интерфейсы. Например. js.html имеет js.html DOM, flash имеет внешние для Flash API и т.д.

  • Существует пакет sys, который доступен для "внутренних" целей: C++, Java, Neko, HashLink, PHP, Python и Lua. Он также доступен на JavaScript/Node с библиотекой hxnodejs.

Другие вещи:

Компилятор Haxe очень быстр по сравнению с другими компиляторами. Это точка продажи сама по себе. Там также есть макросы, которые позволяют вам выполнять предварительную обработку очень мощным способом. Затем есть такие инструменты, как Haxelib, которые позволяют вам подключаться к сторонним библиотекам.

OpenFL

Когда Haxe только начинался, Flash по-прежнему оставался большой целью, он был установлен повсюду и отлично подходил для создания игр. Многим разработчикам Flash понравился Haxe, потому что он был быстрым, безопасным с открытым исходным кодом и давал им больше возможностей. Но Flash API (спрайты, графика, видеоклипы, события) работали только на Flash, но не на мобильных устройствах, не на HTML5 и т.д. Что было проблемой, когда Flash стал менее популярным.

OpenFL заставляет Flash API работать с другими целями Haxe. Итак, вы написали игру Haxe, ориентированную на flash API, используя спрайты, графику и код в стиле flash. Затем вы хотите скомпилировать в C++ (для таргетинга на мобильные устройства и т.д.). OpenFL позволяет вашему коду Haxe использовать Flash API, даже если он нацелен на C++ или JavaScript. Например, OpenFL создает класс flash.graphics.DisplayObject не только для flash, но и для C++ и JavaScript. Так что если вы знаете, как писать Flash-игры, вы уже близки к написанию OpenFL-игр.

OpenFL также имеет несколько отличных инструментов, облегчающих развертывание ваших игр на определенных платформах. Где цели Haxe - такие вещи, как "JS", "SWF", "C++", платформы OpenFL - "iOS", "Android", "Switch", "HTML5", "Windows EXE" и т.д. Когда вы слышите Что касается Haxe, предназначенного для мобильных устройств, то в большинстве случаев это OpenFL, потому что он работает с Haxe для компиляции вашего кода (в C++, JS, SWF и т.д.), а затем упаковывает эти двоичные файлы для мобильных устройств.

Flixel

Haxe - это язык, компилятор и стандартная библиотека.
OpenFL основывается на этом и добавляет Flash API, работающий с целями.
HaxeFlixel развивает это еще дальше и предоставляет специальные API для игр, которые работают на OpenFL.

Пример того, как все это работает вместе:

  • Вы создаете игру. Все это написано на гексе. Такие вещи, как имя игрока, очки и информация о завершении, используют структуры данных из стандартной библиотеки. Они будут работать в вашей игре, но вы также можете заставить их работать на вашем сайте PHP.

  • Ваша игра использует OpenFL для компиляции во Flash, HTML5, iOS и Android. Как часть OpenFL, у вас также есть доступ к стандартным классам Flash API, таким как Stage и Buttons and MouseEvents, которые вы можете использовать для экрана вашего меню. Поскольку OpenFL предоставляет классы flash. * Для других целей, ваше приложение компилируется для разных целей.

  • Для вашей реальной игры важна производительность, а подход FlashListList немного медленный и не оптимизирован для игр. HaxeFlixel оптимизирован для игр и очень быстр. Таким образом, вы разрабатываете свою игру с HaxeFlixel, используя их API.

Резюме

Haxe - это язык, компилятор, инструментарий и стандартная библиотека. Он предоставляет самые основные инструменты для кроссплатформенного кода.

OpenFL построен на Haxe и предоставляет Flash API для нескольких целей (Flash, C++, JavaScript) и упрощает компиляцию для множества платформ: веб, нативная, iOS, Android, Nintendo Switch и т.д.

HaxeFlixel построен на OpenFL - он использует API-интерфейсы, предоставляемые OpenFL, для создания игровой среды, которая отличается высокой производительностью и простотой создания 2D-игр.

Ответ 2

Я только недавно открыл HaxeFlixel, и я люблю его! Я пришел к созданию игр для AS3 с использованием Flixel, и теперь я, вероятно, никогда не вернусь!


Итак, чтобы попытаться ответить на ваш вопрос (и так, как я его понимаю):

Haxe - это своего рода нижний слой. Это язык программирования, который может быть скомпилирован во Flash, Windows, Android, iOS и т.д. И т.д. И т.д.

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

HaxeFlixel - это фреймворк 2D-игр, основанный на комбинации Adam Atomic Flixel для AS3 и Flixel Power Tools от Photon Storm. Это упрощает создание 2D-игр с почти таким же типом кода, что и в AS3/Flixel.

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

Итак, подведем итог: Haxe - мощный язык программирования. Вы можете попытаться выяснить, как писать код "как есть", что сложно, или вы можете использовать одну из нескольких библиотек, чтобы упростить эту задачу - OpenFL - одна из этих библиотек.

Вы можете использовать OpenFL сам по себе и кодировать игру с ним, или вы можете использовать одну из множества различных платформ, чтобы упростить ее - HaxeFlixel - одна из этих платформ. Также есть фреймворки Starling и HaxePunk, которые имеют свои плюсы и минусы.

Время Мнения!

Я настоятельно рекомендую придерживаться HaxeFlixel - так как он очень похож на Flixel, мне удалось подобрать его и научиться его использовать, и я сделал эту полную игру ровно за 1 месяц и выпустил версии для Flash, Windows и Android на в тот же день - это замечательно, учитывая, что я раньше не касался Haxe, и у меня никогда не было времени даже взглянуть на Android-разработку раньше. Кстати, исходный код игры полностью открытый, так что не стесняйтесь копаться и смотреть, как я это делал.

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

Это действительно не так уж и сложно - начать работать с HaxeFlixel:

http://haxeflixel.com/documentation/getting-started/

Выполните эти шаги, и вы по крайней мере получите Hello, World! и работает в считанные минуты (исключая время, необходимое для загрузки и установки всего материала). Как я уже упоминал ранее, пока вы не чувствуете себя более комфортно, просто следуйте инструкциям для Haxe и OpenFL, но пока не думайте об этом!

Удачи! И дайте мне знать, если вы сделаете это где-нибудь или нет!