欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

JASS萌新学习指南(1.3)

发布时间:2024/1/1 编程问答 40 豆豆
生活随笔 收集整理的这篇文章主要介绍了 JASS萌新学习指南(1.3) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

上集我们讲了一个空触发器转J后的代码,大部分解释了一遍。
记不住没关系,可以写在纸上。
记住要自己动手实验一遍。
接下来仍然是T转J。

这里随便举了个例子
杀死触发单位。

 

如果你对上集 理解了。
这里就多了一个东西

call KillUnit(GetTriggerUnit())

call 调用 函数 KillUnit Kill=杀 Unit=单位

如果你记不住可以写纸上,当然你如果记电脑里面也可以

Get=获取 Trigger=触发 Unit=单位

获取触发单位 其实就是触发单位

调用  杀死单位(触发单位)

这个call KillUnit在Trig_aActions里面
上集我们已经说了 
Trig_aActions就是T里面的动作函数


下面的示意图:

 我们来看看事件

 

注意:不要管是否能在魔兽里真正有效执行的问题,着重点在于能不能理解。

T转J后:

 

我们可以看到是和之前一样的(把#之类预处理全删了,方便理解,不知道要删的看上一集1.2)

区别在于

 

 

地图初始化运行
这里是勾上的

地图初始化这个事件是很特殊的 他不会在编辑器里面生成代码,而是转成J后的一个选项
同样,T里面还有一个很特殊的选项

注意 这里是T如果把它去掉我们可以看到 

 

多了一个这么个东西

就是和初始打开是一个功能,但是转J后没有初始打开这个选项,仅仅是多了一行代码。
call DisableTrigger(gg_trg_a)
disable不使用 Trigger 触发器
这样翻译不一定正确,但你能理解即可。

看完了不正常的事件。我们来看看正常的事件转J后是什么样子
 

任意单位进入可用地图区域杀死触发单位

 

我们发现加了这个事件 
InitTrig_a里面加了一句
call TriggerRegisterEnterRectSimple( gg_trg_a, GetPlayableMapRect() )

很长 但是很容易解释
Trigger 触发器
Register 注册
Enter 进入
Rect 矩形(区域)
Simple 简单的

即:触发器注册进入区域事件(触发器gg_trg_a,可用地图区域())
Get 获取
Playable 可以玩的
Map 地图
Rect 矩形区域

我们可以看到 
 
这条函数和其他函数颜色不一样(如果你显示不出来颜色 建议用YDWE,有tesh插件。或者可能你的tesh被关闭,或者存在问题)

这个是红色的。(如果你没有改tesh配置的话是如此)
而其他的是紫色的

关于这点我们先提一下
TriggerRegisterEnterRectSimple、GetPlayableMapRect是blizzar.j文件里面的函数。
(通常被称作bj函数)
这类函数通常是封装过的。
而紫色的CreateTrigger 这类是common.j文件里面的函数
(通常被叫做cj函数,这里的cj函数和cjass不能混为一谈!)
这类函数是底层的函数。
那么两者具体区别在哪里?

红色的函数其内部是需要调用紫色的函数,这类函数通常不推荐使用,因为这里面一些东西可能存在泄漏 或者 有一些你并不想要的多余步骤。

上面那段不理解没有关系,关于这个我们可以以后说
我们只需要记住 通常情况下使用紫色的函数 而尽量避免使用 红色的函数

这集就到这里了,讲了一些事件 动作 转J后的代码。
关于条件以及其他的东西,我们以后讲。
下集1.4再见。

 

总结

以上是生活随笔为你收集整理的JASS萌新学习指南(1.3)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。