【问题标题】:How to "convert" a simple flash project to HTML5 using OpenFL如何使用 OpenFL 将一个简单的 Flash 项目“转换”为 HTML5
【发布时间】:2016-04-27 15:18:35
【问题描述】:

我必须将一些 Flash 项目“转换”为 HTML5/JS,但我真的不知道该怎么做 :(

这个 Flash 项目是像这样的小“活动”: https://www.brainpop.com/artsandmusic/artconcepts/cameras/activity/#=standard

我对此进行了一些研究,但我有点迷茫......

我发现其他人问同样的问题,很多回答是使用 Haxe/OpenFL 和 as3hx (https://github.com/HaxeFoundation/as3hx),但我真的不明白如何继续......

是否可以使用 openfl-swf 加载 .swf 文件来创建类似的 .html 文件? 我应该使用 as3hx 将 AS3 转换为 Haxe3 吗? 有没有一种简单的方法可以在没有任何交互性的情况下获取此活动的图形渲染,以便我可以添加手动输入文本字段?

我以前从未使用过 ActionScript 或 Haxe。

如果有人有任何建议,我会很高兴听到它:)

希望我的解释清楚,英语不是我的母语,如有错误请见谅。

干杯!

【问题讨论】:

  • 盲目地转换任何东西不太可能获得您正在寻找的好处;我希望您需要对代码有所了解。也就是说,您可能还想查看as3js.org,它是将 AS3 移动到 Javascript 的转译器。这不涉及阶段对象,但如果你的 fla 文件是纯代码,它可能是更直接的解决方案。
  • 我真的不想盲目地转换它,但我必须找到一种解决方案,以尽可能快地转换它,因为我可能会有数百个这样的项目来转变。我要去看看 as3js,谢谢你的建议 :) 干杯!

标签: html flash haxe openfl


【解决方案1】:

as3hx 只会将 as3 代码转换为 haxe openfl,并且可能需要手动调整。为了使代码更灵活,请尽量避免扩展 Sprite,然后在更多 webgl 加速的 haxe 解决方案(如 Kha 和 Luxe)中使用您的活动逻辑可能会更容易。

您可能需要将代码和屏幕布局完全分开。 要在 openfl 中运行主要是图形的 fla swf,您需要使用 haxelib https://github.com/openfl/swf,它可能会非常繁琐地获取不同的子帧或帧,并且渐变并不完美,请记住使用它时它与访问一个孩子通常你使用一个有点不同的结构来做到这一点。

另外,您可能会发现flump 很有用,它可以与openflump 一起使用。 https://github.com/SavedByZero/openflump 从闪存 IDE 导出。 它将您的许多图形转换为嵌套结构中的 png 序列,可能值得您自己重建文本字段。

Openfl js 可能会很慢 我建议您在提交解决方案之前进行一些测试,因为 Kha 或 Luxe 可能会为您提供比 Flash 仿真 api 解决方案更现代的图形着色器方法,但是您的所有资产很大程度上需要图片。

我怀疑是否有任何理想的方法,但是在 Haxe 中获取您的逻辑确实是个好主意,因为这样您就可以使用 c++、c#、js 等。如果您选择 openfl,第一步可能是尝试仅移植部分将您的代码用于 haxe,然后在您当前的项目中将它们用作 swc,这将允许您在尝试在 html haxe 中执行相同操作之前,逐步检查您的转换并在 haxe flash 方法中轻松修复问题。您可能会发现 swf 库对于 html5 并不理想,而 png 是要走的路,Animate 现在提供了我在 starling as3 中使用的导出 png 序列。另一种需要考虑的方法是用于 Animate 的 away3d 插件,它可以将 Flash 时间线转换为可以使用 javascript 代码控制的 typescript away3d (2D)使用 away3d 2d 但我想它可能非常复杂)。

【讨论】:

    猜你喜欢
    • 2012-08-16
    • 2011-12-29
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 1970-01-01
    • 1970-01-01
    • 2021-04-15
    • 2021-01-19
    相关资源
    最近更新 更多