繁体   English   中英

使用 OpenFL 将 Haxe Flash 应用程序编译为 Adob​​e AIR

[英]Compiling a Haxe Flash application to Adobe AIR using OpenFL

我正在为一家拥有用haxe编写的可编译为Flash swf的商业应用程序的公司提供支持。 该应用程序是一个布局生成器,它加载一个项目列表,然后可以将这些项目拖到布局上。 项目列表是使用AMFPHPPHP服务器加载的。

我们正在考虑将这个应用程序移植到Adobe AIR以便我们可以在 2020 年之后继续使用这个应用程序。 经过一番研究,我发现了Lime/OpenFL VSCode扩展,并认为最好的途径是尝试获取haxe代码使用Lime编译为AIR 我没有任何使用haxeFlashOpenFL开发的经验,所以这对我来说都是全新的,我不知道这个移植在多大程度上是可行的。 所以我的第一个问题非常广泛,但我想知道是否有人有过这样的转换经验,谁能评论这种方法的可行性?

为了提供有关该应用程序的更多详细信息,以下是用于编译当前Flash应用程序的build.hxml

-cp Source
-D LOCAL_TEST
-D haxe-boot
-D flash-use-stage
-swf-lib index.swf
-swf-version 9
-swf pdfbuilder.swf
-debug
PDFBuilder

index.swf使用mxmlc单独编译,只是使用Flex制作的一些组件。 所以我关于这个端口的下一个问题是当我编译到AIR时我是否能够包含这个index.swf

我安装了Haxe 4.0 我在VSCode创建了一个OpenFL项目并尝试编译它。 我收到了许多错误消息,主要的两个是haxe.remoting.AMFConnection的导入失败并出现类型未找到错误,并且应用程序没有Main类型,因为Flash应用程序的启动明显不同.

我不太确定如何更改启动; 当前应用启动如下:

class PDFBuilder {
    // CONFIG
    inline public static var _hostAddress = #if LOCAL_TEST 'http://212.45.52.43' #else '' #end;
    inline public static var _hostLocalPath = 'C:/Inetpub/wwwroot';
    public static var _userPath:String;

    /** Reference to Main Flex Application object **/
    public static var flex:Dynamic;

    public static var app:PDFBuilder;
    public static var event:PDFBuilderEvents;

    public static var service = AMFConnection.urlConnect(#if LOCAL_TEST _hostAddress +
        '/commonfiles/php/amfphp-1.2/gateway.php' #else 'amfphp-1.2/gateway.php' #end);

    // Layout items container
    public static var itemData:ItemData = new ItemData(updateItemTreeData);

    public var grid:layout.Grid;
    public var events:PDFBuilderEvents;
    public var uploader:UploadManager;

    public function main(_flex:Dynamic) {
        app = this;

        ....

我相信Lime一个Main类,而不是一个反映应用程序名称 ( PDFBuilder ) 的类名,但我确信除了类名之外还有更多需要更改的内容。

在您的 hxml 文件中使用 --library 参数: https ://haxe.org/manual/compiler-usage.html

对于 haxe4,我认为您需要使用 air4 lib https://lib.haxe.org/p/air4haxe/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM