2011-03-07 36 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