2016-04-27 47 views
3

我必須「轉換」一些閃光的項目,HTML5/JS,但我真的不知道我怎麼能做到這一點:(如何「轉換」使用OpenFL

這閃光的項目一個簡單的閃存項目,以HTML5是有點「活動,」像這樣的: 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

盲目轉換任何東西不太可能獲得您正在尋找的好處;我希望你需要對代碼有所瞭解。也就是說,你可能還想看看http://as3js.org/這是一個將AS3移動到Javascript的轉譯器。這並不涉及舞臺對象,但如果您的fla文件是純代碼,則它可能是更直接的解決方案。 – Atriace

+0

我真的不想盲目轉換它,但我必須找到一個解決方案,以儘可能快地將其轉換,因爲我可能會有數百個像這樣的轉換項目。我會看看as3js,謝謝你的建議:) 乾杯! –

回答

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,也許只是嘗試移植部件的代碼,然後將它們用作當前項目中的swc,這將允許您逐漸檢查轉換並在haxe flash方法中輕鬆修復問題,然後再嘗試在html haxe中執行相同的操作。您可能會發現swf庫對於html5並不理想,而且png是要走的路,Animate現在提供了我在starling as3中使用的導出png序列。另一種需要考慮的方法是用於Animate的away3d插件,它可以將flash時間線轉換爲typescript away3d(2D),您可以使用javascript代碼進行控制(即使您從as3hx中獲取了某些flash特定haxe並將其調整爲與away3d 2d一起工作,但我想它可能非常複雜)。