2011-03-07 86 views
1

我在C/C++中尋找2D遊戲引擎,我認爲將AS3「世界」移植到C++並將其用作遊戲引擎可能是個好主意。我可以將AS3移植到C++而不被起訴嗎?

由於AS3是一種專有語言(由Adobe擁有),我想知道(或者得到一些提示),如果這是一個合法的舉動。我可以創建幾個AS3類的C++端口並將其用作遊戲引擎嗎?

+2

這個問題是關於堆棧溢出的話題:它不是關於編程,而是關於法律,許可和知識產權。 – 2011-03-07 17:17:23

+0

@james我認爲它完全有效的問題 – 2011-03-07 17:48:00

+0

@james我的問題確實是關於法律/許可/等,但它也涉及編程。我想編碼的東西,我只是想檢查是否可以繼續。 – 2011-03-07 21:49:58

回答

2

從有關ActionScript

ActionScript中的維基百科條目最初是由Macromedia公司開發的面向對象的語言(現在由Adobe Systems擁有)。它是ECMAScript的一種方言(意味着它具有與廣爲人知的JavaScript相同的語法和語義),主要用於開發針對Adobe Flash Player平臺的網站和軟件,以嵌入的形式在網頁上使用SWF文件。該語言本身是開源的,因爲它的規範是免費提供的,並且可以使用開源編譯器(作爲Adobe Flex的一部分)和開源虛擬機(Mozilla Tamarin)。

See Wikipedia page here.

還要注意的是存在於人們建立自己的編譯器來非AS編譯成ABC(動作字節碼),可以在Flash播放器中運行多個項目。 HaXe是其中最值得注意的。另外,Unity3D最近宣佈它將增加編譯swfs的能力,針對Adobe最近公開稱爲Molehill的新的低級3D API。實際上,他們計劃在Unity的工作流程中添加ActionScript 3作爲支持的語言(與C#,UnityScript(一種類似於Ecma 4的JS)以及Boo(類Python語言)一起)。雖然Adobe的官方反應一直保持沉默,但他們的平臺傳播者似乎對前景感到非常興奮。 Unity's announcement of molehill support

如前所述,swf格式本身是一個開放的標準,因此也可以製作自己的Flash Player。作爲參考,請參閱Joa Ebert的實驗here

總之,我不會太擔心它。

+0

感謝維基百科的參考。關於[Joa Ebert的實驗](http://blog.joa-ebert.com/2010/08/19/introducing-jitb/),這很酷。這幾乎是我想要做的,除了我不想創建Flash Player的事實,我只想要本地C++類,它們的組織和行爲方式與AS3類相同。 – 2011-03-07 20:25:15

+0

/maskedMan - 這個評論有點晚了,但那是非常令人興奮的消息。作爲一個平臺,Unity是相當了不起的,而且他們將AS3加入到可用的腳本語言中對於flash用戶來說是個好消息。這一點以及我們可以訪問Unity強大的閃存內容生成IDE的事實......哇。 – Bosworth99 2011-05-17 17:58:11

0

如果您從AS3的已發佈定義開始工作,而不是從某些專有Adobe來源開始工作。
而且您不使用任何Adobe商標名稱(如ActionScript)。
而Adobe沒有關於AS概念的專利 - 或者你生活在一個文明的國家。

那麼你是完全自由地做自己的事情實現你喜歡的 - 問康柏

0

我懷疑Adobe與任何可能會移植的代碼有關。

AS3是一種編程語言&作爲創建者的Adobe(或macromedia)不保留任何寫在AS3中的代碼的權利。如果是這樣,那麼每個程序員都必須首先創建他/她自己的編程語言,以保留自己的代碼的所有權。

就你而言,你唯一需要擔心的是你正在談論的特定遊戲引擎的許可證。但是由於您可以訪問源代碼,我相信它可能已經在簡單使用許可證(如GPL或MIT)下發布。

另一件您在2D遊戲引擎中所說的「世界」。我有一個輕微的感覺,你正在談論box2D遊戲引擎。如果是這樣的話,那麼我認爲你不需要將它移植到C++中,因爲box2D本身最初是用C++編寫的,後來被Erin Catto &移植到AS3。

+0

這非常有幫助,謝謝!關於許可證,我打算使用MIT。關於我所說的「世界」,我指的是ActionScript類的層次結構,而不是遊戲引擎自身產生的任何遊戲的世界(環境)。我想我選擇了一個壞詞來表達我的想法:) – 2011-03-07 20:37:28

0

我認爲你會向相反的方向..... as3世界中存在的任何東西都曾經從C++移植過來。我可能是錯的,但as3代碼庫在C++前面很小。

+0

我只想使用現有的Actionscript類層次結構作爲參考,在本機C++類中構建該層次結構的子集。它可能聽起來是「反向」,但看起來很具挑戰性和對我有用:) – 2011-03-07 20:29:53