找回密码
 点一下
查看: 2186|回复: 7

无聊的写了段代码发现了个 循环嵌套的问题 jass

[复制链接]
发表于 2010-12-14 21:04:11 | 显示全部楼层 |阅读模式
代码如下  知道原因的同学来解决一下
function XHXG takes nothing returns nothing
local integer a1 = 0
local integer b1 = 36
local integer a2 = 0
local integer b2 = 50
local real x = GetUnitX(udg_u)
local real y = GetUnitY(udg_u)
local real r = 50
loop
exitwhen a2>b2
set a2 = a2+1
set r = r+50
loop
exitwhen a1>b1
call AddSpecialEffectLocBJ( Location((x+r*Cos(10*a1* bj_DEGTORAD)), (y+r*Sin(10*a1* bj_DEGTORAD))), "Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl" )
call DestroyEffect( GetLastCreatedEffectBJ() )
call TriggerSleepAction(0.01)
set a1 = a1+1
endloop
endloop
endfunction
 楼主| 发表于 2010-12-14 21:04:53 | 显示全部楼层
说明一下  只执行 内循环 外循环貌似不执行呀
回复

使用道具 举报

发表于 2010-12-14 21:55:37 | 显示全部楼层
第二个loop前加句set a1 = 0
回复

使用道具 举报

发表于 2010-12-15 06:18:57 | 显示全部楼层
或者第一个endloop后加句 set a1 =0
回复

使用道具 举报

发表于 2010-12-15 10:18:52 | 显示全部楼层
楼上的都已经解答了 其实就是  第一次循环后  内存循环的a1一直都是大于b1

所以其实外层循环一直都是执行的  但是内层循环由于退出的条件一直满足 生意不执行了
回复

使用道具 举报

 楼主| 发表于 2010-12-15 15:34:33 | 显示全部楼层

忘记把第二层循环的递推数归零了 大条   当时脑子有点水
谢谢各位了
回复

使用道具 举报

发表于 2011-1-19 10:40:36 | 显示全部楼层
我想问下,这里的Location是否有内存泄漏!
回复

使用道具 举报

发表于 2011-1-19 18:37:14 | 显示全部楼层
泄露了
没有删除
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 02:07 , Processed in 0.126254 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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