我必须"转换"一些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。
如果有人有任何建议,我会很高兴听到它:)
我希望我的解释清楚,英语不是我的第一语言,所以请原谅我的任何错误。
干杯!
答案 0 :(得分:0)
as3hx只会将as3代码转换为haxe openfl,可能需要手动调整。为了使代码更加灵活,请尽量避免扩展Sprite,然后在更多webgl加速haxe解决方案(如Kha和Luxe)中使用您的活动逻辑会更容易。
您可能需要清晰分离代码和屏幕布局。 要在openfl中运行一个主要是图形的fla swf你需要使用haxelib https://github.com/openfl/swf,它可能非常繁琐地到达不同的孩子或框架并且渐变不是完美的,只记得在使用它时它不是与访问孩子相同,通常你使用的结构有点不同。
另外,您可能会发现flump非常有用,它可以与openflump一起使用。 从Flash IDE导出https://github.com/SavedByZero/openflump。 它将大量图形转换为嵌套结构中的png序列,可能值得自己重建文本字段。
Openfl js可能很慢我建议你在提交解决方案之前做一些测试,因为Kha或Luxe可以为你提供比flash flash emi解决方案更加着色的现代图形方法,但是你所有的资产都需要很大图片。
我怀疑是否有任何理想的方式,但在Haxe中获取逻辑是非常好的主意,因为那时你可以做c ++,c#,js等。如果你选择openfl的第一步是尝试只是移植部分你的代码是haxe,然后在当前项目中将它们用作swc,这将允许你逐步检查转换并在haxe flash方法中轻松解决问题,然后再尝试在html haxe中执行相同的操作。您可能会发现swf库不适合html5而且png是要走的路,Animate现在提供了我在starling as3中使用的导出png序列。另一种需要考虑的方法是Animate的away3d插件,它可以将flash时间线转换为你可以使用javascript代码控制的typescript away3d(2D)(如果你删除一些特定于flash的haxe并将其调整为as3hx,你可能从as3hx获得了haxe使用away3d 2d,但我想这可能非常复杂。)