找回密码
 点一下
查看: 1574|回复: 5

很弱弱的问问这个触发哪有泄露

[复制链接]
发表于 2010-1-12 09:56:32 | 显示全部楼层 |阅读模式
事件
每0.01秒触发事件

动作
       FOR 循环整数A 从 1 到 50 做动作
                           设置变量(点类型) test = 玩家1的开始位置
                           单位 立即移动单位 圣骑士002 <预设> 到 test 面向角度 默认建筑朝向角度  
                           
自定义代码 call RemoveLocation( udg_test )

看起来应该没泄露啊
但是运行2分钟以后就会变得很卡
发表于 2010-1-12 13:15:08 | 显示全部楼层
好像是没问题啊 = =
= =难道要set null?

不过既然这个点一直没动过 那放循环外面试试看?
回复

使用道具 举报

发表于 2010-1-12 14:08:48 | 显示全部楼层
这不是个很弱的问题  是一个复杂的问题  没你想像的简单  除非实测过
在10ms内 下50个移动命令  情况  且不清空变量 而且是一个全局变量
如果是局部变量那还好一点
全局变量就不太清楚了  有一个随机的问题在里面
就是
g_a=PT
REMOVE时
另一个timer时间到了就会再运行这个函数 有可能会在REMOVE前再把G_A赋值一下
这样就少了一个点没清除
所以如果是TIMER 我也不清楚是否会重运行
而触发器是一定会重运行的
回复

使用道具 举报

发表于 2010-1-12 20:31:25 | 显示全部楼层
timer的触发能不用就尽量别用
回复

使用道具 举报

发表于 2010-1-12 22:02:15 | 显示全部楼层
将设置变量和删除点移动到循环外面
在里面没意义
至于卡
不一定是此触发的问题
回复

使用道具 举报

发表于 2010-1-19 16:25:10 | 显示全部楼层
如果你已经开始用 call RemoveLocation(location lc) 这种JASS函数了.
不妨慢慢地尝试

动作-
自定义代码 local location lc = GetUnitLoc(GetTriggerUnit())
//其他动作XXXXXXXXXXXX
自定义代码 call RemoveLocation(lc)
自定义代码 set lc = null

这样T/J混用.
并且!异常不建议"每0..01秒"做动作.
众所周知,人眼看超过24F/秒的动画时,就会认为是连续的动作了.
看LZ你的例子..应该是仅仅为了测试吧.
如果你是想做移动的. 建议设成 每0.04秒.这样会好一点.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 15:14 , Processed in 0.055885 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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