TOP概要>システム変数
 [基本文法]  [変数]  [システム変数]  [マクロ]  [CGレイヤ]  [タスク]  [入力]
■システム変数


●システム変数とは

システム変数とはユーリスに最初から用意されている変数のことで、
日付や時間をはじめ、起動したOSのバージョン、また、任意のキーの押下状態などが格納されています。

最初の一文字が「 _ 」アンダーバーから始まる変数がシステム変数です。

システム変数の種類は以下の通りです。


代入システム変数名説明
 @_LCLOOP 命令内でのループカウンタ(1〜x)
※LOOPネスト毎に値を保持します
 @_PINT(n)GOSUBジャンプ元から受け取った整数値 ※nはパラメータ番号(1〜16)
※GOSUBネスト毎に値を保持します
 @_PFLT(n)GOSUBジャンプ元から受け取った実数値 ※nはパラメータ番号(1〜16)
※GOSUBネスト毎に値を保持します
 $_PSTR(n)GOSUBジャンプ元から受け取った文字列 ※nはパラメータ番号(1〜16)
※GOSUBネスト毎に値を保持します
 @_PFLG(n)GOSUBジャンプ元に PINT/PFLT/PSTR が存在したか ※nはパラメータ番号(1〜16)
※GOSUBネスト毎に値を保持します
 @_RINT(n)RETURNジャンプ元から受け取った整数値 ※nはパラメータ番号(1〜16)
※GOSUBネスト毎に値を保持します
 @_RFLT(n)RETURNジャンプ元から受け取った実数値 ※nはパラメータ番号(1〜16)
※GOSUBネスト毎に値を保持します
 $_RSTR(n)RETURNジャンプ元から受け取った文字列 ※nはパラメータ番号(1〜16)
※GOSUBネスト毎に値を保持します
 @_RFLG(n)RETURNジャンプ元に RINT/RFLT/RSTR が存在したか ※nはパラメータ番号(1〜16)
※GOSUBネスト毎に値を保持します
 $_M 〜 $_M16マクロパラメータが格納される変数(マクロ宣言時にのみ使用)
 $_MB 〜 $_MB16マクロパラメータBが格納される変数(マクロ宣言時にのみ使用)
 $_TEXT現在表示されているテキストの内容
 $_TEXT_FLAG現在表示されているテキストの半角全角情報や、改行改頁クリック待ち情報
@_MENUCODE最後に選択されたメニュー項目の CODE 値
 @_TIME■現在の日付・時間
@_TIME(0,0) = 西暦
@_TIME(0,1) = 月
@_TIME(0,2) = 日
@_TIME(0,3) = 曜日
@_TIME(0,4) = 時
@_TIME(0,5) = 分
@_TIME(0,6) = 秒
@_TIME(0,7) = ミリ秒

■YU-RISを起動した時点での日付・時間
@_TIME(1,0) = 西暦
@_TIME(1,1) = 月
@_TIME(1,2) = 日
@_TIME(1,3) = 曜日
@_TIME(1,4) = 時
@_TIME(1,5) = 分
@_TIME(1,6) = 秒
@_TIME(1,7) = ミリ秒
 @_OS_TIME■経過時間(ミリ秒)
@_OS_TIME(0) = OSを起動してからの経過時間
@_OS_TIME(1) = YU-RISを起動してからの経過時間
 @_OS_VERSIONOSの種類
20 = Windows 98
21 = Windows 98SE
30 = Windows ME
40 = Windows 2000
50 = Windows XP
60 = Windows 2003
70 = Windows Vista
80 = Windows 7
90 = Windows 8
91 = Windows 8.1
100 = Windows 10
255 = その他のOS
 @_OS_DXVERSIONDirectXのバージョン(メジャーバージョン番号のみ)
 @_OS_SOUNDサウンド機能が利用可能(=1)、利用不可(=0)
 @_OS_MEMTOTAL搭載メモリ容量(単位:バイト)
 @_OS_MEMAVAIL空きメモリ容量(単位:バイト)
 @_SYSTEM_VERSIONYU-RISのバージョン(x1000した値)
 $_SYSTEM_PATHYU-RIS起動パス
 $_SAVE_PATHYU-RISセーブデータパス
 $_APPDATA_PATHユーザのホームディレクトリパス
 $_PERSONAL_PATHマイドキュメントのパス
 @_ARGCYU-RIS起動時のコマンドラインパラメータの数
 $_ARGV(0〜8)YU-RIS起動時のコマンドラインパラメータ
 @_DEBUGMODEデバッグモードか否か(1=デバッグモード/0=リリースモード)
 @_SCREEN_COLOR現在の色数
 @_SCREEN_SIZE_X現在の画面解像度(X座標)
 @_SCREEN_SIZE_Y現在の画面解像度(Y座標)
@_WINDOW_EXEC_MAX最大化ボタン押下状態(0/1)
@_WINDOW_EXEC_CLOSE閉じるボタン押下状態(0/1)
 @_MEDIA_READONLY読み込み専用メディア、または書き込み権限のない
環境から起動した場合に1が格納される(0/1)
 @_PAIπの値(3.1415926535〜)
@_INP(n)キー/マウス押下状態(配列版) ※3
@_KEY_ANY任意のキーの押下状態
@_KEY_A 〜 @_KEY_ZA〜Zキー押下状態 ※1
@_KEY_0 〜 @_KEY_90〜9キー押下状態 ※1
@_KEY_NUM0 〜 @_KEY_NUM90〜9テンキー押下状態 ※1
@_KEY_F1 〜 @_KEY_F24F1〜F24ファンクションキー押下状態 ※1
@_KEY_BSBSキー押下状態 ※1
@_KEY_TABTABキー押下状態 ※1
@_KEY_SPACESPACEキー押下状態 ※1
@_KEY_ENTERENTERキー押下状態 ※1
@_KEY_SHIFTSHIFTキー押下状態 ※1
@_KEY_CTRLCTRLキー押下状態 ※1
@_KEY_ALTALTキー押下状態 ※1
@_KEY_LEFTLEFTキー押下状態 ※1
@_KEY_RIGHTRIGHTキー押下状態 ※1
@_KEY_UPUPキー押下状態 ※1
@_KEY_DOWNDOWNキー押下状態 ※1
@_KEY_INSERTINSERTキー押下状態 ※1
@_KEY_DELETEDELETEキー押下状態 ※1
@_KEY_HELPHELPキー押下状態 ※1
@_KEY_SCROLLSCROLLキー押下状態 ※1
@_KEY_NUMLOCKNUMLOCKキー押下状態 ※1
@_KEY_ESCESCキー押下状態 ※1
@_KEY_PAGEUPPAGEUPキー押下状態 ※1
@_KEY_PAGEDOWNPAGEDOWNキー押下状態 ※1
@_KEY_HOMEHOMEキー押下状態 ※1
@_KEY_ENDENDキー押下状態 ※1
@_KEY_NUMADD+テンキー押下状態 ※1
@_KEY_NUMSUB−テンキー押下状態 ※1
@_KEY_NUMMUL*テンキー押下状態 ※1
@_KEY_NUMDIV/テンキー押下状態 ※1
@_KEY_NUMDEC.テンキー押下状態 ※1
@_KEY_HYPHEN−(ハイフン)キー押下状態 ※1
@_KEY_CIRCUMFLEX^キー押下状態 ※1
@_KEY_YEN¥キー押下状態 ※1
@_KEY_AT@キー押下状態 ※1
@_KEY_LEFTBRACKET[キー押下状態 ※1
@_KEY_RIGHTBRACKET]キー押下状態 ※1
@_KEY_SEMICOLON;キー押下状態 ※1
@_KEY_COLON:キー押下状態 ※1
@_KEY_COMMA,キー押下状態 ※1
@_KEY_PERIOD.キー押下状態 ※1
@_KEY_SLASH/キー押下状態 ※1
@_KEY_BACKSLASH\キー押下状態 ※1
@_KEYNUM_〜キーの押された回数
 ※ 〜 に入る文字は上の @_KEY_〜 系の文字と
   同じものが入ります。
@_MOUSE_Lマウス左ボタン押下状態 ※1
@_MOUSE_Rマウス右ボタン押下状態 ※1
@_MOUSE_Mマウス中央ボタン押下状態 ※1
@_MOUSE_Uマウスホイール↑回し状態 ※1
@_MOUSE_Dマウスホイール↓回し状態 ※1
@_MOUSENUM_〜マウスボタンの押された回数
 ※ 〜 に入る文字は上の @_MOUSE_〜 系の文字と
   同じものが入ります。
@_MOUSE_XマウスX座標
@_MOUSE_YマウスY座標
@_PAD_LEFT(n)パッド[左]の押下状態 ※1 ※2
@_PAD_RIGHT(n)パッド[右]の押下状態 ※1 ※2
@_PAD_UP(n)パッド[上]の押下状態 ※1 ※2
@_PAD_DOWN(n)パッド[下]の押下状態 ※1 ※2
@_PAD_BUTTON(n, m)パッドボタンの押下状態 ※1 ※2 ※4
@_PAD_BUTTON1(n)
 〜 @_PAD_BUTTON32(n)
注:廃止予定の変数です。↑の @_PAD_BUTTON を使用してください。
パッドボタンの押下状態 ※1 ※2
@_PADNUM_〜パッドの押下回数
 ※ 〜 に入る文字は上の @_PAD_〜 系の文字と
   同じものが入ります。
@_PAD_NUMBER接続されているパッドの数
@_CODE_〜各キーのボタンコード
 ※ 〜 に入る文字は上の @_KEY_〜 系の文字と同じものが入ります。
例:@_CODE_Z, @_CODE_SLASH
@_CODE_MOUSE_〜各マウスのボタンコード
 ※ 〜 に入る文字は上の @_MOUSE_〜 系の文字と同じものが入ります。
例:@_CODE_MOUSE_L, @_CODE_MOUSE_D
@_CODE_PAD_〜(n)各パッドのボタンコード
 ※ 〜 に入る文字は上の @_PAD_〜 系の文字と同じものが入ります。
例:@_CODE_PAD_LEFT(1), @_CODE_PAD_DOWN(2)

@_CODE_PAD_BUTTON〜 の場合は、
@_CODE_PAD_BUTTON(n, m) のように二次元配列で指定します。
n はパッド番号(0〜15), m は ボタン番号(0〜31)になります。
例:@_CODE_PAD_BUTTON(0, 0), @_CODE_PAD_BUTTON(1, 24)
代入 ○:値を代入する事が出来るシステム変数です。    △:値を代入する事が出来ますが、間違った使い方をすると正しく動作しなくなる危険性があります。    無記入:値を代入する事は出来ません(エラーメッセージが出ます) ※1 押されていれば『押され続けているフレーム数』が(例:1,2,3,4,5…)、     離されていれば『離され続けているフレーム数(マイナス値)』が(例:-1,-2,-3,-4,-5…)格納されます。 ※2 nはパッド番号(0〜15) ※3 nにはそれぞれ対応するボタンコードを指定します。使い方としては、     @_INP( @_CODE_Z )    と書けば、Zキーの押下状態が取得できます。また、     @VAL = @_CODE_Z     @_INP( @VAL )    と書くこともできます。    これを利用すれば、@VALキーの値を変えるだけで、どのキーを取得するかが簡単に変更できるようになります。    キーコンフィグ機能を搭載する場面などで役立つと思います。 ※4 mはパッドボタン番号(0〜31)