星际争霸2第五十二批FAQ - 地图编辑器特辑
1. 程序使用的还是JASS语言么?或是JASS的改进版?
星际2使用全新的脚本语言,我们称其为Galaxy。它和C语言非常类似,任何熟悉C语言的人学起来都毫不费力。
2. 这语言是事件驱动型的还是面向对象型的?
语言本身不是面向对象的,不过多数基本功能是为操作游戏对象而开发的。
3. 比较下魔兽3的地图编辑器,它是否能编辑更多的游戏GUI界面?在魔兽3里,关于GUI的改动是有很多限制的?
大部分游戏里的UI布局是外设在数据文件里的,不过还没有能支持这些文件的编辑器。所以个性化游戏UI界面是可能的,但是这个过程对一般用户来说并不友好。
4. 星际2的地图编辑器里有什么值得注意的功能么?或许说新的编辑器没什么新功能,只是在细节上做了一些改进?
魔兽3已经推出那么多年了,星际2的地图编辑器如果不多少有些新功能,说不过去吧。
5. 是否能触发一些交流方面的功能,例如通过动作或条件元素,在新的语言中是否会加以改进?
触发编辑器一个显著的更新就是支持自定函数了——包括动作和条件元素。这表示你可以基于其他动作元素上(或者自定义脚本)创建你自己的动作元素了,然后将他们应用于触发器中,现在你能够彻底得自由发挥了。
6. 星际2编辑器中的“英雄”支持功能和魔兽3编辑器中的有何不同?还是说实际上两者是一样的?
我们一直在为创建一个比魔兽3更棒的英雄系统而努力。比方说,地图作者如今甚至连英雄每次升级获得的成长属性也能定义。
7. 对这款语言而言有没有公用API?
魔兽3的地图编辑器里设有众多“本地函数”,用户可以通过编写脚本来实现地图的编写。如果这就是你所指的公用API的话,我的回答是“是”。
8. 新语言的“垃圾收集器”有什么改进么?例如在JASS里,所有本地变量在使用结束后都会被设为空值,一些数值型的数据(譬如单位在地图里的位置坐标)在使用后会从游戏中移除,以避免造成内存泄漏?
Galaxy有一套针对所有类型数据的、成熟的垃圾收集系统,这相比魔兽3(可以说没有垃圾收集系统)有了超大的改进。魔兽3里常见的脚本内存泄漏已经是历史了。
翻译:SC2P.CoM|Kaka
来源:Battle.Net
相关新闻:
[蓝帖] 星际争霸2地图编辑器功能强大 超越DotA的地图成为可能
更多星际争霸2官方Q&A,敬请关注SC2P.COM!