如何使用OpenFL将简单的Flash项目“转换”为HTML5

3

我需要将一些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。

如果有人有任何建议,我会很高兴听取!

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

干杯!


盲目地转换任何东西不太可能获得您寻找的好处;我认为您需要对代码有一些理解。话虽如此,您也可能想要查看http://as3js.org/,这是一个将AS3转换为Javascript的转译器。虽然这并不涉及舞台对象,但如果您的fla文件纯属代码,则可能是更直接的解决方案。 - Atriace
我并不想盲目地转换它,但我必须找到一个尽可能快速转换的解决方案,因为我可能会有数百个像这样需要转换的项目。我会看看as3js,谢谢你的建议 :) 干杯! - Jérémy Mediavilla
1个回答

0

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 从 flash IDE 导出。 它将许多图形转换为嵌套结构中的 png 序列,重建文本字段可能是值得的。

Openfl js 可能会很慢,我建议您在决定解决方案之前进行一些测试,因为 Kha 或 Luxe 可能会为您提供比 Flash 模拟 API 解决方案更现代的着色器图形方法,但是这样您所有的资产基本上都需要是图像。

我怀疑是否有任何理想的方法,但是将逻辑放入 Haxe 中确实是一个非常好的主意,因为然后您可以使用 c++、c#、js 等等。如果您选择 openfl,则第一步可能是尝试将代码的部分移植到 haxe,然后将它们用作 swc 在当前项目中使用,这将允许您逐步检查转换并在 haxe flash 方法中轻松修复问题,然后再尝试在 html haxe 中执行相同的操作。您可能会发现 swf 库不适合 html5,而 png 是正确的方式,Animate 现在提供了导出 png 序列,我已经在 starling as3 中使用过。另一个要考虑的方法是 Animate 的 away3d 插件,它可以将 flash 时间轴转换为 typescript away3d(2D),您可以使用 JavaScript 代码(甚至是从 as3hx 获取的 Haxe)来控制它(但我猜它可能非常复杂)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接