找回密码
 点一下
查看: 957|回复: 8

全局函数在地图编辑器里怎么写?

[复制链接]
发表于 2014-1-13 19:53:29 | 显示全部楼层 |阅读模式
本帖最后由 异界行者 于 2014-1-13 21:46 编辑

在触发器里直接写一个,在别的地方不能调用。如果直接用public标注,却说要定义在library内。但是怎么样才能定义在library内的?或者说有什么其他方法写一个jass函数就能让这张地图的任意地方调用?
发表于 2014-1-13 20:17:20 | 显示全部楼层
本帖最后由 夜の星 于 2014-1-13 20:23 编辑
① 使用原生的全局脚本区~
_MQGN]ZK}6NZ]JS70@CK892.jpg
写在这里面的代码是放置在所有触发器内容之前的~也无需加public
② vjass的library~其实不加public,貌似默认还是可以直接访问的...zinc则是默认private
library LibMath
    public function fib takes integer i returns integer
        if (i<=2) then
            return 1
        endif
        return fib(i-1)+fib(i-2)
    endfunction
endlibrary
//如果要从另一个library内调用,那么需要 uses/requires/needs + library名
library LibAnother requires LibMath
    ......
endlibrary

点评

是不是直接新建一个触发器放在最开头,然后转成jass格式,在里面直接写函数就可以了? 我发现我之前无法调用是因为那些函数放太后面了,放前面就可以调用了  详情 回复 发表于 2014-1-13 20:31
回复 1 0

使用道具 举报

 楼主| 发表于 2014-1-13 20:31:32 | 显示全部楼层

是不是直接新建一个触发器放在最开头,然后转成jass格式,在里面直接写函数就可以了?
我发现我之前无法调用是因为那些函数放太后面了,放前面就可以调用了

点评

不建议,你这样写能通过,是恰巧这个触发器的顺序在前而已; 保存地图时触发器的先后顺序是无法控制的,是有情况能造成明明你把它放在前面,但是却后生成的~ 上面不是提供了两种方法了嘛... 仔细看第一张图,那  详情 回复 发表于 2014-1-13 20:38
回复

使用道具 举报

发表于 2014-1-13 20:38:21 | 显示全部楼层
异界行者 发表于 2014-1-13 20:31
是不是直接新建一个触发器放在最开头,然后转成jass格式,在里面直接写函数就可以了?
我发现我之前无法 ...

不建议,你这样写能通过,是恰巧这个触发器的顺序在前而已;
保存地图时触发器的先后顺序是无法控制的,是有情况能造成明明你把它放在前面,但是却后生成的~

上面不是提供了两种方法了嘛...
仔细看第一张图,那个“未命名的”是你地图的名字,可以点进去,然后写代码的~那里的顺序是一定比触发器优先的~
或者新建一个触发器,然后按library的写法,library的内容是会被抽取出来然后放在前面,和触发顺序无关的~library之间的顺序你自己可以通过requires定义的说~

点评

不过你说的第1种方法我这里找不到,全局脚本区具体是在哪个位置?  详情 回复 发表于 2014-1-13 20:58
谢谢,难怪有时写前面也不管用!  详情 回复 发表于 2014-1-13 20:55
回复 1 0

使用道具 举报

 楼主| 发表于 2014-1-13 20:55:51 | 显示全部楼层
夜の星 发表于 2014-1-13 20:38
不建议,你这样写能通过,是恰巧这个触发器的顺序在前而已;
保存地图时触发器的先后顺序是无法控制的, ...

谢谢,难怪有时写前面也不管用!
回复

使用道具 举报

 楼主| 发表于 2014-1-13 20:58:49 | 显示全部楼层
夜の星 发表于 2014-1-13 20:38
不建议,你这样写能通过,是恰巧这个触发器的顺序在前而已;
保存地图时触发器的先后顺序是无法控制的, ...

不过你说的第1种方法我这里找不到,全局脚本区具体是在哪个位置?
回复

使用道具 举报

发表于 2014-1-13 21:04:27 | 显示全部楼层
←试着点一下框出来的这个区域,然后在右边你会看到写代码的地方的~

点评

我点一下是把触发器全部隐藏掉,再点一下就是显示触发器…… 难道这个东西不是在触发器(按F4出现的界面)那里吗?  详情 回复 发表于 2014-1-13 21:15
回复

使用道具 举报

 楼主| 发表于 2014-1-13 21:15:36 | 显示全部楼层
本帖最后由 异界行者 于 2014-1-13 21:17 编辑
夜の星 发表于 2014-1-13 21:04
←试着点一下框出来的这个区域,然后在右边你会看到写代码的地方的~

我点一下是把触发器全部隐藏掉,再点一下就是显示触发器……

难道这个东西不是在触发器(按F4出现的界面)那里吗?

知道了,原来不是下拉出现,而是直接显示在右边
回复

使用道具 举报

发表于 2014-1-14 08:35:58 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-5-4 05:17 , Processed in 0.313586 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表