FlasCC是Adobe的Alchemy 2的商標名。 早在Alchemy 1.0的時代,Adobe就成功地實現了將純C/C++編寫的程序,編譯為SWF和SWC。 而在Alchemy 1.0的時代,是要收費的。
到Alchemy 2.0的時候,Adobe正式推出,并成為了游戲開發工具包的主力成員。 第一次推行的時候,FlasCC是要收費的,按每個產品的Title進行利潤抽成。 高達 9%. 這一舉動將很多開發商擋在了門外。 因為作為了一個新興的編譯器,以及,編譯導向為Adobe自己的平臺。 更多開發商在這里停步了。因為特別是國外一些大作,其作品都是由很多大師級引擎拼裝而成的。 比如UDK,ScaleForm,Havok等等。 它們中很多引擎已經是抽成模式了。 現在Adobe還要來抽成,還抽了9%。 這就有點過了。
Adobe得知這樣下去,將會很艱難,于是改變戰略,將FlasCC作為了免費工具。
而由于這一舉動,使得早先就使用FlasCC的Unity3D引擎受到了損失。 因為Unity3D引擎之前用FlasCC是交了錢的。 現在又不交錢了,好像Adobe也沒有要退錢的意思。 最后,最新版的Unity3D不再提供導出為SWF的功能。 官方給出的原因是說Adobe對Stage3D的發展方向不確定,于是不再打算支持。
而大名鼎鼎的UDK則一如既往,提供了一個網頁版的示例DEMO。 目前就放在了FlasCC的推廣頁上。 可以直接傳送,耐心等待一會兒就可以出現一個場景漫游的效果了。
http://www.unrealengine.com/flash/
UDK放出這個DEMO很久了,但是DEMO一直沒有更新。 這應該是其它問題了。也不好猜測。
而FlasCC本身是很OK的,特別是到了目前FlasCC 1.0.1版本。 我通過對文檔和例子的研究。大概發現FlasCC可以完成以下事情。
一、將先前的C++庫直接編譯為SWC,供AS3項目使用。 比如一些純C++寫的跨平臺物理引擎(BOX2D,BULLET等等)
二、如果想提供一個真正的多線程環境,那可以使用C++編寫基于POSIX標準的線程庫,供SWC使用。
三、一些效率要求較高的地方,比如尋路,排序等,可以使用C++編寫,導出為SWC,供AS3項目使用。
四、可以使用OPENGL編寫圖形引擎,編譯為SWC,而采用AS3進行邏輯開發,做微端或者頁游。 OPENGL很多人都熟悉,同時,GLSL比AGAL好寫得多,并且C++編寫的效率較高(要在LLVM上運行)。 結合二者的優點,可以讓一個端游團隊快速轉向頁游或者端游,如果效率優化足夠,可以直接到達手游。
五、已經成熟的游戲,想改微端或者頁游,可以更換其圖形層(如果是D3D寫的,如果是OPENGL,就容易多了)。再編譯為AIR或者SWF就可以了。