马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 prmosquito 于 2020-4-23 14:03 编辑
vJass完整版教程版本:JassHelper0.A.0.0
完全原创,请勿转载。
前言作者尽管最终WEHelper将World Editor的Jass编译器替换为PJass,但仍然会有一些很多的问题待解决,这就是开始这个项目的原因。
译者注:WEHelper是非常早期的WE插件工具,目前已经基本过时了。
在项目的过程中,后来我感觉更进了一步,并产生了将Jass扩展到面向对象编程思路的想法。
JassHelper是vJass语言的编译器,支持vJass的很多功能,其中包括结构,库,文本宏等等……
虽然这不是真正的面对对象编程模式,但我依旧希望语法能够足够的强大。
vJass没有真正的继承性,这就是我不将其称之为对象类而是结构的原因。不过,vJass仍然有着允许多态的接口功能,并且,由于还可以声明新结构的数据类型,因此,您可以写出一些具有伪继承性的代码。伪继承性在以下的教程中,会告诉你,能通过多种方式去实现。
我认为最终应该停止设计vJass的语言。因此在1.0.0版本之后,不会再更新任何新的内容,如果您有任何需求,请紧记,在1.0.0版本之后进行语法更改对vJass是很不健康的。 Z.0版本在JassHelper中引入了Zinc语言,这只是vJass的简单替代,在某些方面也会更加严谨。 译者vJass是Jass的扩展,目前几乎所有的WEer都使用JassHelper,因此,vJass的通用性非常强。vJass的基本语法和Jass没有任何区别,只是在此基础之上增加了更多功能性的语法,以支持面向对象式的编程方式。 我着重要求读者一定要好好了解vJass的结构功能。该功能基本上将魔兽争霸3地图的开发引上了一个新的台阶。
目录
vJass完整版教程.................................................................................................... 1
版本:JassHelper 0.A.0.0......................................................................... 1
前言.................................................................................................................... 2
作者........................................................................................................... 2
译者........................................................................................................... 3
目录.................................................................................................................... 4
一. 自由声明.................................................................................................... 8
全局变量.................................................................................................. 8
本地函数................................................................................................ 10
二. 库.............................................................................................................. 14
库的初始化........................................................................................... 20
静态ifs语句......................................................................................... 23
静态成员................................................................................................ 24
Scope 域............................................................................................... 26
公共成员................................................................................................ 29
域的嵌套................................................................................................ 32
三. 结构.......................................................................................................... 39
声明结构................................................................................................ 41
创建和销毁结构.................................................................................. 42
结构运用................................................................................................ 45
实例成员................................................................................................ 47
结构类型的全局变量......................................................................... 49
静态成员................................................................................................ 50
公共/私有结构..................................................................................... 51
方法......................................................................................................... 53
封装形式................................................................................................ 55
静态方法................................................................................................ 57
析构处理................................................................................................ 62
结构初始化........................................................................................... 64
接口......................................................................................................... 66
重载......................................................................................................... 80
结构的继承........................................................................................... 94
存根方法................................................................................................ 99
Super 语句....................................................................................... 102
动态数组............................................................................................. 104
数组成员............................................................................................. 110
委托...................................................................................................... 113
Thistype 语句.................................................................................. 117
四. 模块化................................................................................................... 118
五. 将函数作为对象................................................................................. 123
函数接口............................................................................................. 127
Typecast 类型转换........................................................................ 131
六. 将方法作为对象................................................................................. 133
方法是否存在.................................................................................... 134
七. 数组结构.............................................................................................. 136
八. 键值....................................................................................................... 139
九. 储存增强.............................................................................................. 141
介绍...................................................................................................... 141
数组大小............................................................................................. 143
二维数组............................................................................................. 145
具有更多索引空间的结构............................................................. 148
十. Jass语法扩展..................................................................................... 152
冒号...................................................................................................... 152
换行注释............................................................................................. 152
十一. 文本宏.............................................................................................. 154
十二. 钩子................................................................................................... 161
十三. 注入................................................................................................... 163
十四. 从SLK文件加载结构.................................................................. 165
SLK文件............................................................................................. 165
结构类型............................................................................................. 166
十五. 代码的调试..................................................................................... 169
十六. JassHelper功能............................................................................ 171
避免局部变量重影........................................................................... 171
return bug修复程序..................................................................... 172
导入外部脚本文件........................................................................... 174
Zinc...................................................................................................... 177
编译忽略............................................................................................. 178
脚本优化............................................................................................. 179
外部工具............................................................................................. 181
换行修复............................................................................................. 184
命令行................................................................................................. 185
更新...................................................................................................... 189
卸载...................................................................................................... 190
团队和感谢................................................................................................. 191
更新日志...................................................................................................... 193
|