** 内容はSRC2.2.33のものです **
その他の関数
Args(引数の番号)
指定した番号(最初の引数の番号が1)の引数の値を返します。サブルーチン内でしか使用できません。サブルーチンに指定された引数の数を超えた番号を指定した場合、空文字列”“が返ります。
通常、Args関数では現在実行中のサブルーチンに指定された引数の値しか参照できませんが、UpVarコマンドを使うことにより、現在実行中のサブルーチンを呼び出したサブルーチンの引数を参照することが可能です。
Call(ラベル名,引数1,引数2 …)
指定したラベルに対してサブルーチンコールを行います。サブルーチンコールの引数を指定することもできます。指定された引数はサブルーチン内でArgs関数を使って参照可能です。
サブルーチンコールの最後に実行されたReturnコマンドの引数の値が関数の値として返されます。詳しくはReturnコマンドを参照してください。
「Call」の部分を省略し、ラベル名を関数名のところに書くこともできます。例えば下の例ですと「Call(信頼度,クレア)」の代わりに「信頼度(クレア)」と指定しても同じ動作になります。
**例 ** If Call(信頼度,クレア) = 3 Then
Count(配列名)
指定した配列の要素数を返します。
例 a[1], a[2], a[3] が定義されている場合、Count(a)は3を返す。
Eval(式)
与えられた式を評価し、その値を返します。
例 expr が「1 + 3」なら Eval(expr) は 4 を返す
式の左辺値として使用することもできます。
例 a = “b”の時に
Eval(a) = 1 #変数bを1に設定
IIf(条件式,値1,値2)
指定した条件式が成り立つ場合(値が0以外)は値1を、そうでなければ値2を返します。
Ifコマンドと同様に、条件式としてパイロット名を指定することが出来ます。
例 IIf(a > b, a + 1, b - 1)
IsDefined(名称) or IsDefined(名称,データ種類)
指定した名称のユニット、パイロット、アイテムが存在すれば 1 を 、存在しなければ 0 を返します。
データ種類(ユニット、パイロット、アイテムのいずれか)を指定することで検索対象を限定する事も出来ます。
IsVarDefined(名称)
指定した名称の変数、または配列の要素が存在すれば 1 を 、存在しなければ 0 を返します。他の関数とは異なり、「名称」は式として解釈されずそのまま使用されるので注意してください。
例 IsVarDefined(A[i])
KeyState(キー番号)
指定したキーが押されているか判定します。キーが押されていれば1を、押されていなければ0を返します。メインウィンドウがアクティブになっていない(フォーカスされていない)場合はキーが押されていても0を返します。マウスボタンのキー入力検出の際はさらにマウスカーソルがマップウィンドウ上にない場合も0を返します。
1マウスの左ボタン
2マウスの右ボタン
16シフト
17コントロール
32スペースキー
37カーソルキー←
38カーソルキー↑
39カーソルキー→
40カーソルキー↓
48-57数字0-9(Q W E…の上段に並んでいるキー)
65-90アルファベットA-Z
96-105テンキーの0-9
例 スペースキーが押されているか判定: If KeyState(32) Then
上記以外のキーのキー番号を調べる場合、次のイベントコマンドを実行すると良いでしょう。
Cls
Do While 1
Wait Click
ClearPicture
PaintString 0 0 “キーが押されました”
For i = 1 To 229
If KeyState(i) Then
PaintString “キー番号 = $(i)”
EndIf
Next
Refresh
Loop
Nickname(名称)
指定した名称のパイロット、ユニット、アイテムの愛称を返します。同じ名称のユニットとパイロットがある場合にはパイロットの方が優先されます。名称を省略した場合はイベントで選択されているユニットの愛称を返します。
Term(用語,ユニットID)
指定した用語の名称を表示します。
(用語の名称はRenameTermコマンド及びユニット用特殊能力「用語名」で変更可能です。)
指定可能な用語の種類についてはRenameTermコマンドの解説を参照して下さい。
ユニットIDには用語の表示の対象になるユニットを指定します。
ユニットIDを省略した場合、用語名能力による設定は無視されます。
例 Term(“HP”,対象ユニットID)