gpt4 book ai didi

Haxe/OpenFL/Flixel

转载 作者:行者123 更新时间:2023-12-02 12:47:38 29 4
gpt4 key购买 nike

我一直在浏览 Haxe/OpenFL/Flixel 的网站,但我很难理解每个网站的用途。

据我了解:

Haxe 是一种可以部署到多个平台的语言。
OpenFL 与 Flash 有关。
Flixel 是一个帮助您制作游戏的库。

任何人都可以纠正我/让它更清楚。

最佳答案

哈克斯

引自 haxe.org :

Haxe is an open source toolkit based on a modern, high level, strictly typed programming language, a cross-compiler, a complete cross-platform standard library and ways to access each platform's native capabilities.



语言:

Haxe 是一种编程语言。它类似于 AS3、C# 等。它是严格类型的,但具有很好的 type inference .它有很多强大的功能,例如 Pattern Matching , Enums (ADTs) , Macros等等。无论您编译到哪个目标,这些都可以工作。

标准库:
  • Haxe 可以编译为 JavaScript、C++、Flash、Java、C#、PHP、Neko , HashLink 、Python 和 Lua。它具有跨平台一致工作的低级标准类,例如: String , Int , Float , Date , Map 等等。它还有一些有用的跨平台代码,例如 Serialization , Xml , Json , Date formatting
  • 作为一般规则,api.haxe.org 上的任何内容即在顶层,或在 haxe 中包,将适用于您编译到的任何目标。
  • 每个目标都有自己的包。这些使您可以通过 externs 访问该目标的 native 功能.例如。 js.html有 DOM externs,flash有用于 Flash API 等的 externs
  • sys包,可用于“后端”目标:C++、Java、Neko、HashLink、PHP、Python 和 Lua。它也可以在 JavaScript/Node 上使用 hxnodejs图书馆。

  • 其他:

    与一堆其他编译器相比,Haxe 编译器速度非常快。这本身就是一个卖点。还有 macros ,它让你以一种非常强大的方式进行大量的预处理。然后是像 Haxelib 这样的工具,它可以让你链接到 3rd 方库。

    开放式语言

    在 Haxe 刚开始的时候,Flash 仍然是一个很大的目标,它无处不在,非常适合制作游戏。许多 Flash 开发人员喜欢 Haxe,因为它速度快、类型安全、开源,并为他们提供了更多功能。但是 Flash API( Sprite 、图形、影片剪辑、事件)仅适用于 Flash,而不适用于移动设备或 HTML5 等。一旦 Flash 开始变得不那么流行,这是一个问题。

    OpenFL 所做的是使 Flash API 可以在其他 Haxe 目标上运行。因此,您使用 Sprite 和图形以及 Flash 风格的代码编写了一个针对 Flash API 的 Haxe 游戏。然后,您想编译为 C++(针对移动设备等)。 OpenFL 允许您的 Haxe 代码使用 Flash API,即使是针对 C++ 或 JavaScript。例如,OpenFL 创建了 flash.graphics.DisplayObject class 不仅适用于 flash,还适用于 C++ 和 JavaScript。因此,如果您知道如何编写 Flash 游戏,那么您已经接近编写 OpenFL 游戏了。

    OpenFL 还有一些很棒的工具,可以让您更轻松地将游戏部署到特定平台。 Haxe 目标是“JS”、“SWF”、“C++”之类的东西,OpenFL 平台是“iOS”、“Android”、“Switch”、“HTML5”、“Windows EXE”等。当你听说过 Haxe 时针对移动设备,很多时候它是 OpenFL,因为它与 Haxe 一起编译您的代码(成 C++、JS、SWF 或其他),然后将这些二进制文件打包用于移动设备。

    飞力士

    Haxe 是一种语言、编译器和标准库。
    OpenFL 以此为基础,并添加了跨目标工作的 Flash API。
    HaxeFlixel 在此基础上进一步构建,并提供适用于 OpenFL 的游戏特定 API。

    这一切如何协同工作的一个例子:
  • 你创造了一个游戏。所有这些都是用 Haxe 编写的。诸如玩家姓名、分数和完成信息之类的内容都使用标准库中的数据结构。它们可以在您的游戏中使用,但您也可以让它们在您的 PHP 网站上使用。
  • 您的游戏使用 OpenFL 编译为 Flash、HTML5、iOS 和 Android。作为 OpenFL 的一部分,您还可以访问标准 Flash API 类,如舞台、按钮和鼠标事件,您可以将它们用于菜单屏幕。因为 OpenFL 为其他目标提供了 flash.* 类,所以您的应用程序可以编译为所有不同的东西。
  • 对于您的实际游戏,性能很重要,而 flash DisplayList 方法有点慢且未针对游戏进行优化。 HaxeFlixel 针对游戏进行了优化,速度非常快。因此,您可以使用 HaxeFlixel 的 API 来设计您的游戏。

  • 概括

    Haxe 是一种语言、编译器、工具包和标准库。它为跨平台代码提供了最基本的工具。

    OpenFL 建立在 Haxe 之上,并为多个目标(Flash、C++、JavaScript)提供 Flash API,并且可以轻松编译到一系列平台:Web、 native 、iOS、Android、Nintendo Switch 等。

    HaxeFlixel 建立在 OpenFL 之上——它使用 OpenFL 提供的 API 来创建一个高性能且易于制作 2D 游戏的游戏特定框架。

    关于Haxe/OpenFL/Flixel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20687000/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com