** 内容はSRC2.2.33のものです **
Waitコマンド
「待ち」の処理を実施
書式1
Wait time
書式2
Wait Start
書式3
Wait Until time
書式4
Wait Click
解説
書式に応じて待ちの処理を行います。
書式1の場合は、0.1×time 秒の間、イベントの実行を停止します。単純な待ちの処理です。time には小数も指定可能です。
書式2と書式3は組で使います。書式2のWaitコマンドを実行した時刻を基準時刻として記録し、書式3のWaitコマンドを実行した際に基準時刻から0.1×time秒経つまでイベントの実行を停止します。画像を連続して描画することによって動画を表示したり、MIDIファイルの演奏とメッセージ表示を同期させるなど(いわゆるカラオケ)、連続する処理を決まったタイミングで行うときに使います。
書式4の場合はメインウィンドウがクリックされるか、なにかキーが押されるまで待ち続けます。
これらの待ち処理はマウスの右ボタンを画面上で押し続けることでキャンセル可能です。
Waitコマンドによる「待ち」はSRC本体自身の実行を一時停止するだけでなく、PC上で実行されている他のアプリケーションに対してプログラムの実行権を渡すという動作を伴います。これによりアニメ表示など長時間に渡るイベントコマンドの実行の際にも他のアプリケーションの実行を阻害しないようにすることが出来ます。このような実行権の譲渡は「Wait 0」のように待ち時間を0にした場合にも有効です。この場合、Waitコマンドの動作は「他のアプリケーションが処理を行っていない場合はSRC本体が実行を続け、処理を行っているのであればそのアプリケーションに実行権を渡す」というものになります。
Waitコマンドの待ち処理の副作用として画面更新が行われ、Refreshコマンドを用いなくても直前のPaintStringコマンド実行まで(PaintPictureコマンド実行までではありません!)の描画内容が画面に表示されます。これを利用すると通常は段階的にメッセージを表示し、マウスの右ボタンが押されている時には一度にメッセージを表示する、といった処理が可能です(例3)。用途に応じて使い分けるといいでしょう。
例1
#一秒待つ
Wait 10
例2
#MIDIファイルDream Goes By.midの演奏を開始
StartBGM Dream Goes By.mid
#同期処理を開始
Wait Start
#10秒経過時まで待つ
Wait Until 100
#フォントサイズを22ptにして文字列「キャスト」を画面中央に表示
Font 22pt
PaintString - - キャスト
Font
#画面を更新
Refresh
#17.6秒経過時まで待つ
Wait Until 176
#さくらの絵とメッセージを表示
PaintPicture ShinguSakura.bmp ((32 \* 15 - 128) \ 2 + 100) 100 128 128
PaintString 新宮さくら 50 100
Font 14pt
PaintString 横井祥子 50 130
Font
#画面を更新
Refresh
例3
プロローグ:
Show
Do While 1
Call 文字表示 100 100 ABCDEFG
Call 文字表示 100 120 HIJKLMN
Call 文字表示 100 140 OPQRSTU
Call 文字表示 100 160 VWXYZ.
Wait Click
Cls
Refresh
Loop
Exit
メッセージ表示:
Local i
#表示位置を設定
PaintString Args(1) Args(2) "";
#メッセージを1文字づつ表示
For i = 1 To Len(Args(3))
PaintString Mid(Args(3),i,1);
#ウェイトと同時に画面を更新
Wait 0.25
Next
Return