找回密码
 点一下
楼主: everguo

[新手教程]从最简单的函数写起

[复制链接]
 楼主| 发表于 2007-12-7 17:41:55 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2007-12-14 23:28:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2007-12-15 07:57:26 | 显示全部楼层
我以为有人发新帖了呢
进来一看,LZ头像换了...

不过跟“渣”比
实在不好比较
回复

使用道具 举报

发表于 2007-12-20 17:12:47 | 显示全部楼层
为什么 我的就不行啊
回复

使用道具 举报

发表于 2008-1-5 00:46:52 | 显示全部楼层
楼主万岁!!!
很好,很强大!!!
谢谢楼主的无私!!!
楼主,辛苦了,希望再接再厉,我永远支持你!!!
  [s:102]  [s:102]  [s:102]  [s:102]  [s:102]
回复

使用道具 举报

发表于 2008-1-8 20:27:41 | 显示全部楼层
啊~~对新人实在太有帮助了~~~高手是多,但是这么耐心又为新手考虑的高手,还真得难找~~期盼LZ的下一个教程~~~~~~~~
回复

使用道具 举报

发表于 2008-1-8 21:09:10 | 显示全部楼层
引用第25楼cupidtns于2008-01-08 20:27发表的  :
啊~~对新人实在太有帮助了~~~高手是多,但是这么耐心又为新手考虑的高手,还真得难找~~期盼LZ的下一个教程~~~~~~~~

貌似………………everguo的系列教程已经完结了(至少是基本完结了)………………
回复

使用道具 举报

发表于 2008-1-9 11:57:34 | 显示全部楼层
问一下。。要是这样写~~那这些  建兵时 创建的点,不是没有删除?
回复

使用道具 举报

发表于 2008-1-9 14:35:06 | 显示全部楼层
引用第27楼cupidtns于2008-01-09 11:57发表的  :
问一下。。要是这样写~~那这些  建兵时 创建的点,不是没有删除?

这样写的话建兵的点是传入的参数,删除当然不可能在这个function里完成,应该是在之外的某个地方
回复

使用道具 举报

发表于 2008-1-9 16:53:58 | 显示全部楼层
你的这篇JASS文章写的好不好,我不知道,

我只知道,你只是在用你自己懂的方向来教别人,


你没有把修改成的语言做解释,也就是例如:A修改成B,那B是什么意思?为什么要用B?B通常要怎么用?

这,你知道,真正的新人懂吗?我就是新手,我连JASS都没看过,没学过,不懂,也不懂你在这文章上写的是什么,只知道,你是用修改的方法来教别人,只是在有看过JASS和学过JASS的人群中,而不是真正的新人。请把新手教程改成,会JASS的教程!
回复

使用道具 举报

发表于 2008-1-10 18:02:00 | 显示全部楼层
引用第28楼zhuzeitou于2008-01-09 14:35发表的  :


这样写的话建兵的点是传入的参数,删除当然不可能在这个function里完成,应该是在之外的某个地方

事件
时间 - 逝去的游戏时间是 0.00 秒
环境
动作
设置 P = 玩家 2  (蓝色)
设置 point = (区域 (可玩的地图区域) 内的随机地点)
设置 UnitID = 骑士
自定义:  call  JassCreateUnit(udg_P,20,udg_point,120,udg_UnitID)
点 - 删除 point

这样是不是删除了所有的点?
回复

使用道具 举报

发表于 2008-1-10 19:17:19 | 显示全部楼层
引用第29楼q7483210于2008-01-09 16:53发表的  :
你的这篇JASS文章写的好不好,我不知道,

我只知道,你只是在用你自己懂的方向来教别人,


.......

真正的新人,除非有一定的编程基础,一般是不应该直接来学jass的
当你接触了WE一定的时间,当你对常用的触发有了充分的了解,你所说的自然而然的就不是问题了,因为答案是显而易见的
作为一个彻彻底底的新人,最好还是去看看普通的WE教程,熟悉一下触发再来吧
回复

使用道具 举报

发表于 2008-1-10 19:19:53 | 显示全部楼层
引用第30楼cupidtns于2008-01-10 18:02发表的  :


事件
时间 - 逝去的游戏时间是 0.00 秒
环境
.......

其实这样做只创建了一个点,而用变量点来创建单位是不会再创建点的,所以这样做就是删除了创建的点了
回复

使用道具 举报

发表于 2008-1-10 19:43:10 | 显示全部楼层
引用第32楼zhuzeitou于2008-01-10 19:19发表的  :


其实这样做只创建了一个点,而用变量点来创建单位是不会再创建点的,所以这样做就是删除了创建的点了

恩明白了,可不可以这样理解,在JASS里用变量点来创建单位不会创建点?而在WE里调用用会创建点?(我有点糊涂了。。。)
回复

使用道具 举报

发表于 2008-1-10 21:07:40 | 显示全部楼层
重0开始学习~~
老子~~不信~~老子学不会~~
回复

使用道具 举报

发表于 2008-1-10 21:29:33 | 显示全部楼层
引用第33楼cupidtns于2008-01-10 19:43发表的  :


恩明白了,可不可以这样理解,在JASS里用变量点来创建单位不会创建点?而在WE里调用用会创建点?(我有点糊涂了。。。)

不是这个意思,如果你先有了一个点变量,然后通过这个点变量用触发新建单位,同样不会额外地创建点的。
WE里如果用到在区域中心创建单位而不是事先设定一个点变量的话,就会不断地创建点了
回复

使用道具 举报

发表于 2008-1-11 09:37:10 | 显示全部楼层
引用第35楼zhuzeitou于2008-01-10 21:29发表的  :


不是这个意思,如果你先有了一个点变量,然后通过这个点变量用触发新建单位,同样不会额外地创建点的。
WE里如果用到在区域中心创建单位而不是事先设定一个点变量的话,就会不断地创建点了
啊我又开始糊涂了。。
前辈的意思是,只要有了个变量来代替这个点,后面调用这个变量来创建的单位,不会产生点是不是(不管是jass还是WE)?
回复

使用道具 举报

发表于 2008-1-11 09:52:02 | 显示全部楼层
可能是我的表达不好吧
我认为是这样的
真正创建点的并不是新建单位,而是区域XX中心这类的
另外,请把第二行前两个字修改掉,这不适用于我………………
回复

使用道具 举报

发表于 2008-1-11 13:46:27 | 显示全部楼层
请把变量和实际的点孤立的看待~~

比如
设置 point = (区域 (可玩的地图区域) 内的随机地点)
这一句~~

实际上呢~~它包含了2个操作~~1:创造一个点对象~~其坐标定为地图中的随机点~~
2:把这个点对象的句柄(handle)赋给point变量~~

而接下去你不论用这个point为直接坐标来创建多少单位~~都不会产生新增点对象的效果~~

要注意两种创建单位方式的区别~~

“在point点创建单位”和“在(区域 (可玩的地图区域) 内的随机地点)创建单位”是不同的~~

后者其实比前者多了一步操作~~它其实1:创造一个点对象~~其坐标定为地图中的随机点~~2:在该点对象的坐标处创造一个单位~~

前者只有一步操作~~1:在point指向的点对象的坐标处创造一个单位~~

我们每一次用后者的方式执行创建动作~~都会重复一次"创造一个点对象"这个动作~~而该对象一旦生成以后~~由于没有将其句柄赋给任何变量~~导致我们无法用变量来捕捉它~~进而就无法用删除点这一动作来将该对象销毁~~于是每次执行这种动作~~都会导致废物点对象的不断堆积~~导致内存泄露~~

而使用前者的方式执行创建单位的动作~~我们只有在“设置 point = (区域 (可玩的地图区域) 内的随机地点)”这一动作的时候创建了一个点对象~~之后我们一直在利用这个点对象的坐标来创建单位~~

因此~~简单地说~~如果一句动作里涉及到如何生成一个点(比如本例就是"一个区域内随机生成")那么最好将这一部分独立出来写~~宁可写成两句动作~~对内存泄露的避免也要高于写到一块~~

另外~~更具体地说~~如果一个点由另外一个临时点作为参数生成~~比方说((区域内随机点)的极坐标30度300距离处的点)这一动作其实包含了生成2个点的操作~~第一个是生成一个点对象~~坐标为区域内的随机点~~第二个点的坐标是~~相对前一个点极坐标30度300距离处的位置~~所以~~遇到这种情况也最好能分开写~~否则也就导致第一个点无法被捕捉~~也无法被回收销毁~~
回复

使用道具 举报

发表于 2008-1-11 13:50:24 | 显示全部楼层
引用第38楼Renee于2008-01-11 13:46发表的  :
请把变量和实际的点孤立的看待~~

比如
设置 point = (区域 (可玩的地图区域) 内的随机地点)
这一句~~
.......

嗯嗯,我的表达能力太差了额………………说都说不清楚………………
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-23 01:02 , Processed in 0.099784 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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