问题描述
我正在为一家公司提供用haxe
编写的业务应用程序的公司的支持,该业务应用程序编译为Flash
swf
。该应用程序是一个布局生成器,加载了一系列项目,然后可以将这些项目拖到布局上。使用PHP
从AMFPHP
服务器加载项目列表。
我们正在寻找的是将该应用程序移植到Adobe AIR
,以便我们可以在2020年之后继续使用此应用程序。经过一些研究,我发现了Lime/OpenFL
VSCode
的扩展名和思想。最好的方法是尝试使用haxe
获取AIR
代码以编译为Lime
。我没有使用haxe
或Flash
或OpenFL
开发的经验,所以这对我来说是新的,并且我不知道此端口在多大程度上可行。因此,我的第一个问题很广泛,但是我想知道是否有人在进行这种转换方面有经验,并且谁能对这种方法的可行性发表评论?
要提供有关该应用程序的更多详细信息,以下是build.hxml
,它用于编译当前的Flash
应用程序:
-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
制作的许多组件。因此,关于该端口的下一个问题是,当我编译为index.swf
时是否可以像现在这样包含此AIR
?
我已安装Haxe 4.0
;我在OpenFL
中创建了一个VSCode
项目,并尝试对其进行编译。我收到许多错误消息,主要的两个错误是haxe.remoting.AMFConnection
的导入失败,并出现 type 错误,并且应用程序没有 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 ),但是我敢肯定除了类的名称,还有更多需要更改的内容。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)