zoukankan      html  css  js  c++  java
  • 关于FlasCC(Adobe Flash C/C++ Compiler)

    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就可以了。

  • 相关阅读:
    RMI方式Ehcache集群的源码分析
    Bootstrap简单HelloWorld入门教程
    深入剖析Tomcat会话机制
    Redis主从和HA配置
    Ajax
    java数组复制===clone()
    java使用array.copy复制数组
    java数组复制的简单方法(一)
    java ------------用Array.sort()输出数组元素的最大值,最小值,平均值~~~~
    java从键盘输入若干数,求其最大值,最小值,平均值。等等
  • 原文地址:https://www.cnblogs.com/qilinzi/p/3074885.html
Copyright © 2011-2022 走看看