Zinc

来自咸鱼维基
跳转至: 导航 搜索

Vexorian创造的基于Jass的拓展脚本语言,是vJass的再设计版(简化版),用于在魔兽争霸3冰封王座中更方便的编写脚本。

你可以在YDWE中直接编写Zinc代码,也可以在JNGP中使用。

常见问题 提问与回答[编辑]

我能在哪些编辑器中使用Zinc?[编辑]

你可以在YDWE或者任何以YDWE为基础框架的拓展编辑器中使用Zinc,具体使用方式请查看Zinc使用手册。另外你也可以选择使用国外流行的Jass New Gen Pack,这款软件也允许你使用Zinc。实际上,你可以在任何有近代版本的JassHelper的编辑器中使用Zinc。

我可以在哪里找到Zinc教程?[编辑]

远在天边,近在眼前。底部就有我们翻译的Zinc使用手册

Zinc比vJass更好吗?[编辑]

vJass的语法非常冗余,而Zinc简化了这种语法。因此vJass更适合“读”,Zinc更适合“写”。两者各有长短,你可以查看Zinc使用手册后自行判断是否选择使用Zinc。

学习Zinc需要vJass基础吗?[编辑]

不需要。尽管Zinc是基于vJass而拓展的语言,但Zinc单从语言角度来说,是一门独立的语言。Zinc作者所写的Zinc使用手册中大量将Zinc与vJass进行对比的原因是在Zinc刚被发布的时候,网络上有大量人使用vJass,作者为了照顾这些vJass使用者才大量让Zinc与vJass进行对比。

你可以把Zinc当做一门完全独立的语言来学习和使用。

有适合没学过Jass和vJass的新手入门的Zinc教程吗?[编辑]

我们有计划撰写这个教程,但现在还没有。

使用Zinc必须要有Jass和vJass基础吗?[编辑]

需要基础,但也仅仅只需要“基础”。这意味着你用不着让自己先学会使用各种Jass或者vJass的高级功能后才学习Zinc,实际上你只需要知道变量类型、触发事件、触发器等基本概念就可以直接学习Zinc了。

常见BUG[编辑]

数组变量的声明与赋值[编辑]

Zinc内的数组变量不能在声明时赋值,必须在声明数组变量之后在其他地方赋值。

错误的示例:

library SampleLibrary {
  integer arr[0] = 0;
  integer arr[1] = 1;
}

正确的示例:

library SampleLibrary {
    integer arr[];
    function onInit() {
        arr[0] = 0;
        arr[1] = 1;
    }
}

潜规则[编辑]

private成员的编译陷阱[编辑]

被private标记的成员,在转译为Jass时,其名字中的分隔符会随机在__和___之间互换,即private成员在翻译为Jass后的名字是动态变化的。一定不要为一个private函数撰写触发器UI配置。

相关资料[编辑]