[ 編集このページを編集する ]

トップ > MAP作成 > トリガーエディタ > Jass Script > Jass講座 > loop



繰り返し処理。loopendloop の間の処理を、exitwhen で抜けるか、 return でfunctionそのものから抜けるまで繰り返す。

無限ループを作るとWarCraft3が強制終了するので、注意。



使い方

以下のように利用する。

  • 画面に、0〜10まで数字を表示する
        function GetLargerInt takes nothing returns nothing
            local integer i=0
            
            loop
                exitwhen i>10
    
                    call DisplayTextToPlayer(GetLocalPlayer(),0,0,I2S(i))
    
                set i=i+1
            endloop
    
        endfunction

exitwhen 条件 で、条件が真であればその場でループから抜ける。

注意点

無限ループは、WarCraft3が強制終了するので、絶対に作ってはいけない。

  •     loop
            call DisplayTextToPlayer(GetLocalPlayer(),0,0,"noob!")
        endloop

TriggerSleepActionPolledWait*1 を挟めば、強制終了はおきない。ただし、これらの関数の待機時間は正確ではないので、非常におすすめできない。

一定時間おきに何かしたいなら、TimerStart 関数を使おう。


*1 Blizzard.jで定義されている、TriggerSleepActionのラッパー