簡體   English   中英

Javascript to actionscript

[英]Javascript to actionscript

我正在嘗試將一些預先存在的html / JavaScript文件轉換為Flex。 我嘗試進行一些研究,看看是否有任何編譯器編譯從javascript到actionscript的代碼。 據我所知,有很多方法可以將動作腳本轉換為javascript,但我找不到任何相反的方法。 有誰知道是否有辦法做到這一點,或者我應該只編寫自己的工具?

我認為你會發現這不會很好,因為AS3是一種嚴格類型的語言,而Javascript則不然。 即使存在這樣的編譯器,您的ActionScript也可能會遇到問題,因為它會創建一堆通用對象。

簡而言之:ActionScript對Javascript的作用,因為Javascript更寬松,但很多結構都丟失了。 繼承,類型等

但另一方面,沒有辦法添加回ActionScript所需的結構。

作為提到的評論者之一,您可能需要手動進行此轉換。

另一個想法:Flash播放器可以與Javascript交談。 可能不需要將Javascript轉換為ActionScript,而只需創建一些函數通過其ExternalInterface類與Flash SWF文件進行通信。 只需在Javascript中保留Javascript即可。

我強烈建議完全重寫,不會花太多時間,因為他們(JS和AS)都是ECMA標准語言(如果我錯了,請糾正我)

但如果您真的需要自動化方式,請嘗試:

  1. 將您的JS轉換為haxe
  2. 將輸出Haxe編譯為AS

這是我腦海中最簡單的解決方案。

你最好自己編寫自己的工具。 有很多不同的方式來編寫javascript,並且包括它是無類型的這一事實,很難編寫一個能夠轉換所有內容的be-all end-all解決方案。 如果它是一個庫,那么轉換操作碼而不是代碼到代碼可能更有意義,但是這很大程度上取決於javascript的編寫方式。

這將是一種痛苦,這是肯定的。

  • js是無類型的,actionscript是“打字”的。 我想一切都可能是一個對象,它會運作良好
  • js函數作用域的處理方式不同。
  • 調用動作腳本的匿名函數通常是不受歡迎的,並且對性能有害
  • 像動作中的setTimeOut這樣的東西也不贊成,enter_frame和timer可能更有用
  • actionscript中的垃圾收集處理方式略有不同 - 事件調度也是如此

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM