コマンドセット定義 ○ 概要  コマンドセットの定義は、コマンド定義部分とリンクの設定部分に分かれます。 コマンドは、「&」から始まるコマンド名に続けて、内容を定義していきます。 リンクは、コマンドの内容の定義に続け、「,」で区切ったコマンドセット名を 羅列します。  ひとつのコマンドセットが実行されると、基本的には最初のリンクが実行されます。 何もリンクされていなければそのまま終了します。  特に断りがない限り、コマンドの実行終了時に実行されるリンクは、最初の リンクのみです。 コマンドによっては、条件によってリンク先を切り分けたり する場合があります。そういった場合はリンクを複数定義しておくことになります。 ○ マクロ  この定義ファイル内では、以下のマクロを使用可能です。 BMP( ) として登録したビットマップの ページ番号が展開される COS( , ) SIN( , ) 64分割の方向値 の方向に向いた 大きさ Ratio の三角関数の値に展開される SYSTEMVAR( ) として登録したシステム変数の インデックス番号が展開される PARAMINDEX( OBJTYPE , PROPNAME , PARAMNAME ) のカテゴリで、として 定義された特性の、PARAMNAME という名前の パラメータのインデックス番号として展開される ○ リファレンス ---------------------------------------------------------------------- 【記述】 &SetDimension 【パラメータ】 デフォルトの次数 【解説】 定義中に用いるデフォルトの次数を設定します。 定義中の様々な場面で次数を定義することがありますが、このコマンドでは その記述を省略したときに適用されるデフォルト値を設定します。 なお、デフォルトの次数のデフォルト値は 2 です。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &RequestJiki( ){ ... } &RequestEnemy( ){ ... } &RequestGRP( ){ ... } &RequestShot( ){ ... } &RequestExp( ){ ... } &RequestPiece( ){ ... } &RequestEneShot( ){ ... } &RequestESP( ){ ... } &RequestPalette( ){ ... } &RequestItem( ){ ... } &RequestNumber( ){ ... } &RequestRString( ){ ... } ※ブレース内 &RequestJiki( ){ OBJECT = ATTRIBUTE = { DIMENSION = EXIST = POS = ( ,, ... , ) VEL = ( ,, ... , ) ACC = ( ,, ... , ) RADIUS = RADVEL = THETA = PARAM = ( , ) } } [ , ] 【パラメータ】 コマンドセットの名前 出現させるオブジェクトの特性名 出現させるオブジェクトの出現位置を定義する次数 出現直後のオブジェクトの存在フラグの状態 位置や速度を定義するベクタの要素 パラメータ名 パラメータの初期値 リンク先のコマンドセット 【解説】 自機,敵,敵弾などを出現させるコマンドを、 コマンドセット名 として定義します。 ブレース内で、以下のような属性を定義します。 ・OBJECT 出現させるオブジェクトの特性名を に指定します。 コマンドセットの実行により構築されるオブジェクトは、 で定義された特性により初期化されます。 ・ATTRIBUTE オブジェクトが出現したときの、初期の状態を定義します。 ・DIMENSION オブジェクトの初期の出現位置,速度,加速度を定義するベクタの 次数を に記述します。 次数の記述が無い場合は、デフォルトの次数が使用されます。 ・EXIST オブジェクトの初期の存在フラグを に TRUE か FALSE で記述します。 TRUE の場合は存在あり、FALSE の場合は存在なしとなります。 これを FALSE にした場合は、存在しないオブジェクトを出現させる ことになるため、即座に存在が抹消され、何もなかったことにされます。 それではまるで意味がないので、ここでは必ず TRUE を書くように してください。 ・POS , VEL , ACC 出現させる初期の位置,速度,加速度を、次のベクタ もしくはデフォルト次数のベクタで定義します。 ・RADIUS 半径を指定します。 ・RADVEL R方向の速度を指定します。 ・THETA 方向を指定します。 ・PARAM パラメータの初期値を設定します。 複数指定可能です。 なお、このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &RequestIndexedJiki( ){ ... } &RequestIndexedEnemy( ){ ... } &RequestIndexedGRP( ){ ... } &RequestIndexedShot( ){ ... } &RequestIndexedExp( ){ ... } &RequestIndexedPiece( ){ ... } &RequestIndexedEneShot( ){ ... } &RequestIndexedESP( ){ ... } &RequestIndexedPalette( ){ ... } &RequestIndexedItem( ){ ... } &RequestIndexedNumber( ){ ... } &RequestIndexedRString( ){ ... } ※ブレース内 &RequestIndexedJiki( ){ OBJECT = INDEX = ATTRIBUTE = { DIMENSION = EXIST = POS = ( ,, ... , ) VEL = ( ,, ... , ) ACC = ( ,, ... , ) RADIUS = RADVEL = THETA = PARAM = ( , ) } } [ , ] 【パラメータ】 コマンドセットの名前 出現させるオブジェクトの特性名 出現させるオブジェクトの出現位置を定義する次数 オブジェクトを出現させるインデックス番号 出現直後のオブジェクトの存在フラグの状態 位置や速度を定義するベクタの要素 リンク先のコマンドセット 【解説】 インデックス管理された自機,敵,敵弾などを出現させるコマンドを、 コマンドセット名 として定義します。 ブレース内で、以下のような属性を定義します。 ・OBJECT ・ATTRIBUTE ・DIMENSION ・EXIST ・POS , VEL , ACC ・RADIUS ・RADVEL ・THETA ・PARAM &Request 系のコマンドと同一 ・INDEX オブジェクトを出現させるインデックス番号 なお、このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &RequestJikiDirected( ){ ... } &RequestEnemyDirected( ){ ... } &RequestGRPDirected( ){ ... } &RequestShotDirected( ){ ... } &RequestExpDirected( ){ ... } &RequestPieceDirected( ){ ... } &RequestEneShotDirected( ){ ... } &RequestESPDirected( ){ ... } &RequestPaletteDirected( ){ ... } &RequestItemDirected( ){ ... } &RequestNumberDirected( ){ ... } &RequestRStringDirected( ){ ... } ※ブレース内 &RequestJikiDirected( ){ DIMENSION = OBJECT = TARGET = TARGETINDEX = OFFSET = ( ,, ... , ) DIROFFSET = SPEED = } [ , ] 【パラメータ】 コマンドセットの名前 出現させるオブジェクトの出現位置を定義する次数 出現させるオブジェクトの特性名 目標物の種別 JIKI 自機 ENEMY 敵 GRP グラフィック画面 SHOT 自機弾 EXP 爆発 PIIECE 破片 ENESHOT 敵弾 ESP ESP PALETTE コマンドパレット ITEM アイテム NUMBER 数値 RSTRING 英字文字列 対象オブジェクトのインデックス番号 出現位置を定義するベクタの要素 対象のオブジェクトに対する、方向のオフセット 初速度 リンク先のコマンドセット 【解説】 出現もとオブジェクトの位置をから、指定したオブジェクトに向かうような 移動速度をもった新規オブジェクトを出現させるコマンドを、 コマンドセット名 として定義します。 敵弾を自機に向けて発射させるような場合に使用します。 コマンドの特性上、このコマンドセットはステージイベントの コマンドセットとしては使用できません。 目標物のオブジェクトは、インデックス管理されたオブジェクトである必要が あります。 出現させるオブジェクトは、インデックス管理されないオブジェクトです。 ブレース内で、以下のような属性を定義します。 ・DIMENSION ・OBJECT &Request 系のコマンドと同一 ・TARGET 目標物となるオブジェクトの種別を に記述します。 の組み合わせにより、目標物となる ひとつのオブジェクトが特定されます。 ・TARGETINDEX で記述した種別の、インデックス管理されたオブジェクトの インデックス番号を に記述します。 の組み合わせにより、目標物となる ひとつのオブジェクトが特定されます。 ・OFFSET オブジェクトの出現オフセットを、 で指定した次数 もしくはデフォルトの次数のベクタで指定します。 OFFSET を指定することにより、オブジェクトの出現位置は 出現もとのオブジェクトの座標から OFFSET だけ離れた点になります。 ・DIROFFSET 出現もとのオブジェクトから目標物へ向かう方向に対して、 だけずらした方向で、オブジェクトを出現させます。 ・SPEED 出現させるオブジェクトの移動速度を に指定します。 なお、このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &RequestJikiParamDir( ){ ... } &RequestEnemyParamDir( ){ ... } &RequestGRPParamDir( ){ ... } &RequestShotParamDir( ){ ... } &RequestExpParamDir( ){ ... } &RequestPieceParamDir( ){ ... } &RequestEneShotParamDir( ){ ... } &RequestESPParamDir( ){ ... } &RequestPaletteParamDir( ){ ... } &RequestItemParamDir( ){ ... } &RequestNumberParamDir( ){ ... } &RequestRStringParamDir( ){ ... } ※ブレース内 &RequestJikiParamDir( ){ DIMENSION = OBJECT = PARAMINDEX = OFFSET = ( ,, ... , ) DIROFFSET = SPEED = } [ , ] 【パラメータ】 コマンドセットの名前 出現させるオブジェクトの出現位置を定義する次数 出現させるオブジェクトの特性名 方向値をもったパラメータのインデックス番号 出現位置を定義するベクタの要素 対象のオブジェクトに対する、方向のオフセット 初速度 リンク先のコマンドセット 【解説】 出現もとオブジェクトの位置をから、指定したパラメータが持っている方向値で 移動速度をもった新規オブジェクトを出現させるコマンドを、 コマンドセット名 として定義します。 ブレース内で、以下のような属性を定義します。 ・DIMENSION ・OBJECT &Request 系のコマンドと同一 ・PARAMINDEX 方向値として使用するパラメータのインデックス番号 ・OFFSET オブジェクトの出現オフセットを、 で指定した次数 もしくはデフォルトの次数のベクタで指定します。 OFFSET を指定することにより、オブジェクトの出現位置は 出現もとのオブジェクトの座標から OFFSET だけ離れた点になります。 ・DIROFFSET 出現もとのオブジェクトから目標物へ向かう方向に対して、 だけずらした方向で、オブジェクトを出現させます。 ・SPEED 出現させるオブジェクトの移動速度を に指定します。 なお、このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &GetDirection( ){ TARGET = TARGETINDEX = SUBJECT = SUBJECTINDEX = } 【パラメータ】 コマンドセットの名前 対象オブジェクトの種類 JIKI 自機 ENEMY 敵 GRP グラフィック画面 SHOT 自機弾 EXP 爆発 PIIECE 破片 ENESHOT 敵弾 ESP ESP PALETTE コマンドパレット ITEM アイテム NUMBER 数値 RSTRING 英字文字列 対象オブジェクトのインデックス番号 格納先の属性値の種類 POS 位置 VEL 速度 ACC 加速度 PARAM パラメータ MOVEPOINTER 移動配列ポインタ PARAMPOINTER パラメータ配列ポインタ DRAWPOINTER 描画配列ポインタ SHIELD シールド量 ※不要 INCSCORE スコア増分 ※不要 COUNT カウント ※不要 STAGECOUNT ステージのカウント ※不要 RADIUS 半径 ※不要 RADVEL 半径方向の速度 ※不要 THETA 角度値 ※不要 JIKILEFT 自機の残機数 ※不要 COUNTSTOP スコアのカウントストップ値 ※不要 SCORE スコア ※不要 HIGHSCORE ハイスコア ※不要 SYSTEMVAR システム変数 格納先の属性値のインデックス番号 【解説】 自分から、指定したインデックス管理されたオブジェクトへ向かう 方向値を、指定した属性に格納するコマンドセットを、 として定義します。 方向は、で示される種類のオブジェクトの、インデックス番号 に向かう方向になります。 方向値は、 で示される属性の、 番目に 格納されます。 ただし、 によっては が 不要なものもあります。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &StopMove( ) [ , ] 【パラメータ】 コマンドセットの名前 リンク先のコマンドセット 【解説】 オブジェクトが持っている速度,加速度を0にするコマンドセットを として定義します。 コマンドの特性上、このコマンドセットはステージイベントのコマンドセット としては使用できません。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &SetPos( ){ ... } &SetVel( ){ ... } &SetAcc( ){ ... } ※ブレース内 &SetAcc( ){ AXIS = VALUE = } [ , ] 【パラメータ】 コマンドセットの名前 値を設定する軸のインデックス番号 0 以上の整数値を指定します。 設定する値 リンク先のコマンドセット 【解説】 オブジェクトの位置,速度,加速度に値を設定するコマンドセットを として定義します。 コマンドの属性は、ブレース内に記述します。 ブレース内で、以下のような属性を定義します。 ・AXIS 値を設定する軸のインデックス番号を に指定します。 ベクタの 番目の要素に VALUE で指定する値が 代入されます。 ・VALUE 設定する値を に指定します。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &AddValue( ){ SUBJECT = INDEX = VALUETYPE = VALUEINDEX = COEFFICIENT = } , [ ] 【パラメータ】 コマンドセットの名前 値を加算する項目の種類 POS 位置 VEL 速度 ACC 加速度 PARAM パラメータ MOVEPOINTER 移動配列ポインタ PARAMPOINTER パラメータ配列ポインタ DRAWPOINTER 描画配列ポインタ SHIELD シールド量 ※不要 INCSCORE スコア増分 ※不要 COUNT カウント ※不要 STAGECOUNT ステージのカウント ※不要 RADIUS 半径 ※不要 RADVEL 半径方向の速度 ※不要 THETA 角度値 ※不要 JIKILEFT 自機の残機数 ※不要 COUNTSTOP スコアのカウントストップ値 ※不要 SCORE スコア ※不要 HIGHSCORE ハイスコア ※不要 SYSTEMVAR システム変数 値を加算する項目のインデックス番号 によっては不要 加算する値の種類 UNITVALUE 単位量 要するに1 ※不要 RANDOM ValueIndex未満のランダム値 POS 位置 VEL 速度 ACC 加速度 PARAM パラメータ MOVEPOINTER 移動配列ポインタ PARAMPOINTER パラメータ配列ポインタ DRAWPOINTER 描画配列ポインタ SHIELD シールド量 ※不要 INCSCORE スコア増分 ※不要 COUNT カウント ※不要 STAGECOUNT ステージのカウント ※不要 RADIUS 半径 ※不要 RADVEL 半径方向の速度 ※不要 THETA 角度値 ※不要 JIKILEFT 自機の残機数 ※不要 COUNTSTOP スコアのカウントストップ値 ※不要 SCORE スコア ※不要 HIGHSCORE ハイスコア ※不要 SYSTEMVAR システム変数 加算する値の項目のインデックス番号 によっては不要 加算時の係数 リンク先コマンドセット 【解説】 で指定される項目の 番目の属性値に対して、 で示される値の 番目の項目の 倍を加算します。式で書くと、 [ * [] となります。 ただし、, は、必要ないものもあります。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &MulValue( ){ SUBJECT = INDEX = VALUETYPE = VALUEINDEX = COEFFICIENT = } , [ ] 【パラメータ】 コマンドセットの名前 値を乗算する項目の種類 POS 位置 VEL 速度 ACC 加速度 PARAM パラメータ MOVEPOINTER 移動配列ポインタ PARAMPOINTER パラメータ配列ポインタ DRAWPOINTER 描画配列ポインタ SHIELD シールド量 ※不要 INCSCORE スコア増分 ※不要 COUNT カウント ※不要 STAGECOUNT ステージのカウント ※不要 RADIUS 半径 ※不要 RADVEL 半径方向の速度 ※不要 THETA 角度値 ※不要 JIKILEFT 自機の残機数 ※不要 COUNTSTOP スコアのカウントストップ値 ※不要 SCORE スコア ※不要 HIGHSCORE ハイスコア ※不要 SYSTEMVAR システム変数 値を乗算する項目のインデックス番号 によっては不要 乗算する値の種類 UNITVALUE 単位量 要するに1 ※不要 RANDOM ValueIndex未満のランダム値 POS 位置 VEL 速度 ACC 加速度 PARAM パラメータ MOVEPOINTER 移動配列ポインタ PARAMPOINTER パラメータ配列ポインタ DRAWPOINTER 描画配列ポインタ SHIELD シールド量 ※不要 INCSCORE スコア増分 ※不要 COUNT カウント ※不要 STAGECOUNT ステージのカウント ※不要 RADIUS 半径 ※不要 RADVEL 半径方向の速度 ※不要 THETA 角度値 ※不要 JIKILEFT 自機の残機数 ※不要 COUNTSTOP スコアのカウントストップ値 ※不要 SCORE スコア ※不要 HIGHSCORE ハイスコア ※不要 SYSTEMVAR システム変数 乗算する値の項目のインデックス番号 によっては不要 乗算時の係数 リンク先コマンドセット 【解説】 で指定される項目の 番目の属性値に対して、 で示される値の 番目の項目の 倍を乗算します。式で書くと、 [ * [] となります。 ただし、, は、必要ないものもあります。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &DivValue( ){ SUBJECT = INDEX = VALUETYPE = VALUEINDEX = COEFFICIENT = } , [ ] 【パラメータ】 コマンドセットの名前 値を除算する項目の種類 POS 位置 VEL 速度 ACC 加速度 PARAM パラメータ MOVEPOINTER 移動配列ポインタ PARAMPOINTER パラメータ配列ポインタ DRAWPOINTER 描画配列ポインタ SHIELD シールド量 ※不要 INCSCORE スコア増分 ※不要 COUNT カウント ※不要 STAGECOUNT ステージのカウント ※不要 RADIUS 半径 ※不要 RADVEL 半径方向の速度 ※不要 THETA 角度値 ※不要 JIKILEFT 自機の残機数 ※不要 COUNTSTOP スコアのカウントストップ値 ※不要 SCORE スコア ※不要 HIGHSCORE ハイスコア ※不要 SYSTEMVAR システム変数 値を除算する項目のインデックス番号 によっては不要 除算する値の種類 UNITVALUE 単位量 要するに1 ※不要 RANDOM ValueIndex未満のランダム値 POS 位置 VEL 速度 ACC 加速度 PARAM パラメータ MOVEPOINTER 移動配列ポインタ PARAMPOINTER パラメータ配列ポインタ DRAWPOINTER 描画配列ポインタ SHIELD シールド量 ※不要 INCSCORE スコア増分 ※不要 COUNT カウント ※不要 STAGECOUNT ステージのカウント ※不要 RADIUS 半径 ※不要 RADVEL 半径方向の速度 ※不要 THETA 角度値 ※不要 JIKILEFT 自機の残機数 ※不要 COUNTSTOP スコアのカウントストップ値 ※不要 SCORE スコア ※不要 HIGHSCORE ハイスコア ※不要 SYSTEMVAR システム変数 除算する値の項目のインデックス番号 によっては不要 除算時の係数 リンク先コマンドセット 【解説】 で指定される項目の 番目の属性値に対して、 で示される値の 番目の項目の 倍を加算します。式で書くと、 [ * [] となります。 ただし、, は、必要ないものもあります。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &SetValue( ){ SUBJECT = INDEX = VALUETYPE = VALUEINDEX = COEFFICIENT = } , [ ] 【パラメータ】 コマンドセットの名前 値を代入する項目の種類 POS 位置 VEL 速度 ACC 加速度 PARAM パラメータ MOVEPOINTER 移動配列ポインタ PARAMPOINTER パラメータ配列ポインタ DRAWPOINTER 描画配列ポインタ SHIELD シールド量 ※不要 INCSCORE スコア増分 ※不要 COUNT カウント ※不要 STAGECOUNT ステージのカウント ※不要 RADIUS 半径 ※不要 RADVEL 半径方向の速度 ※不要 THETA 角度値 ※不要 JIKILEFT 自機の残機数 ※不要 COUNTSTOP スコアのカウントストップ値 ※不要 SCORE スコア ※不要 HIGHSCORE ハイスコア ※不要 SYSTEMVAR システム変数 値を代入する項目のインデックス番号 によっては不要 代入する値の種類 UNITVALUE 単位量 要するに1 ※不要 RANDOM ValueIndex未満のランダム値 POS 位置 VEL 速度 ACC 加速度 PARAM パラメータ MOVEPOINTER 移動配列ポインタ PARAMPOINTER パラメータ配列ポインタ DRAWPOINTER 描画配列ポインタ SHIELD シールド量 ※不要 INCSCORE スコア増分 ※不要 COUNT カウント ※不要 STAGECOUNT ステージのカウント ※不要 RADIUS 半径 ※不要 RADVEL 半径方向の速度 ※不要 THETA 角度値 ※不要 JIKILEFT 自機の残機数 ※不要 COUNTSTOP スコアのカウントストップ値 ※不要 SCORE スコア ※不要 HIGHSCORE ハイスコア ※不要 SYSTEMVAR システム変数 加算する値の項目のインデックス番号 によっては不要 代入時の係数 リンク先コマンドセット 【解説】 で指定される項目の 番目の属性値に対して、 で示される値の 番目の値の 倍を代入します。式で書くと、 [ * [] となります。 ただし、, は、必要ないものもあります。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &ValueTo( ){ SUBJECT = INDEX = VALUETYPE = VALUEINDEX = COEFFICIENT = SPEED = } , [ , [ ] ] 【パラメータ】 コマンドセットの名前 値を変化させる項目の種類 POS 位置 VEL 速度 ACC 加速度 PARAM パラメータ MOVEPOINTER 移動配列ポインタ PARAMPOINTER パラメータ配列ポインタ DRAWPOINTER 描画配列ポインタ SHIELD シールド量 ※不要 INCSCORE スコア増分 ※不要 COUNT カウント ※不要 STAGECOUNT ステージのカウント ※不要 RADIUS 半径 ※不要 RADVEL 半径方向の速度 ※不要 THETA 角度値 ※不要 JIKILEFT 自機の残機数 ※不要 COUNTSTOP スコアのカウントストップ値 ※不要 SCORE スコア ※不要 HIGHSCORE ハイスコア ※不要 SYSTEMVAR システム変数 値を変化させる項目のインデックス番号 によっては不要 目標値の種類 UNITVALUE 単位量 要するに1 ※不要 RANDOM ValueIndex未満のランダム値 POS 位置 VEL 速度 ACC 加速度 PARAM パラメータ MOVEPOINTER 移動配列ポインタ PARAMPOINTER パラメータ配列ポインタ DRAWPOINTER 描画配列ポインタ SHIELD シールド量 ※不要 INCSCORE スコア増分 ※不要 COUNT カウント ※不要 STAGECOUNT ステージのカウント ※不要 RADIUS 半径 ※不要 RADVEL 半径方向の速度 ※不要 THETA 角度値 ※不要 JIKILEFT 自機の残機数 ※不要 COUNTSTOP スコアのカウントストップ値 ※不要 SCORE スコア ※不要 HIGHSCORE ハイスコア ※不要 SYSTEMVAR システム変数 目標値の項目のインデックス番号 によっては不要 比較時の係数 1回で変化させる値の大きさ リンク先コマンドセット 【解説】 で指定される項目の 番目の属性値が、 で示される値の 番目の値の 倍に近づくように値を変化させます。 1回のコマンド実行で変化する変化量は、です。 , は、必要ないものもあります。 このコマンドセットは、変化させる値と目標値が一致しない状態では、 コマンド実行後に最初のリンクコマンドセット を実行します。 一致している場合には、2番目のリンクコマンドセット を 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &SubjectIf( ){ LEFT_OPERAND = LEFT_INDEX = LEFT_COEFFICIENT = RIGHT_OPERAND = RIGHT_INDEX = RIGHT_COEFFICIENT = OPERATOR = } [ , [ , ] ] 例)特性指定 LEFT_OPERAND = HITOBJ_PROP LEFT_INDEX = PROP( JIKI,HITOMI ) 【パラメータ】 コマンドセットの名前 左辺の演算項目 UNITVALUE 単位量 要するに1 ※不要 RANDOM ValueIndex未満のランダム値 POS 位置 VEL 速度 ACC 加速度 PARAM パラメータ MOVEPOINTER 移動配列ポインタ PARAMPOINTER パラメータ配列ポインタ DRAWPOINTER 描画配列ポインタ SHIELD シールド量 ※不要 INCSCORE スコア増分 ※不要 COUNT カウント ※不要 STAGECOUNT ステージのカウント ※不要 RADIUS 半径 ※不要 RADVEL 半径方向の速度 ※不要 THETA 角度値 ※不要 JIKILEFT 自機の残機数 ※不要 COUNTSTOP スコアのカウントストップ値 ※不要 SCORE スコア ※不要 HIGHSCORE ハイスコア ※不要 SYSTEMVAR システム変数 左辺の演算項目のインデックス番号 によっては不要 左辺項目に対する係数 右辺の演算項目 UNITVALUE 単位量 要するに1 ※不要 RANDOM ValueIndex未満のランダム値 POS 位置 VEL 速度 ACC 加速度 PARAM パラメータ MOVEPOINTER 移動配列ポインタ PARAMPOINTER パラメータ配列ポインタ DRAWPOINTER 描画配列ポインタ SHIELD シールド量 ※不要 INCSCORE スコア増分 ※不要 COUNT カウント ※不要 STAGECOUNT ステージのカウント ※不要 RADIUS 半径 ※不要 RADVEL 半径方向の速度 ※不要 THETA 角度値 ※不要 JIKILEFT 自機の残機数 ※不要 COUNTSTOP スコアのカウントストップ値 ※不要 SCORE スコア ※不要 HIGHSCORE ハイスコア ※不要 SYSTEMVAR システム変数 左辺の演算項目のインデックス番号 によっては不要 左辺項目に対する係数 比較演算子 gt , > より大きい ge 以上 eq , = 等しい le 以下 lt , < より小さい mod , % わり算の余りが0ではない 【解説】 各項目のうち2つを抜き出して、任意の係数をかけて 比較するコマンドのコマンドセットを、 として定義します。 比較した結果によって、繋がるリンクコマンドセットを切り分けることが できます。 条件が一致したときは、 に、一致しない 場合は に繋がります。 比較式は、仮想コードで書くと以下のような形になります。 if( *[] . . *[] ) then else ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &ChangeMovePointerLine( ){ ... } , [ ] &ChangeParamPointerLine( ){ ... } , [ ] &ChangeDrawPointerLine( ){ ... } , [ ] ※ブレース内 &ChangeMovePointerLine( ){ RESETPOSITION = INDEX = LINE = } , [ ] 【パラメータ】 コマンドセットの名前 ライン番号変化時に、ポインタ位置を0にするか否か TRUE : 0 に戻す FALSE: 現在の値を維持する ラインを変更する配列ポインタのインデックス番号 ポインタが移動する先の配列ライン番号 【解説】 番目の配列ポインタが載っている配列を番目の ラインに変更するコマンドのコマンドセットを、 として 定義します。 を FALSE にすると、ライン番号だけが変化し、ポインタの 位置は変化しません。 TRUE にすると、移動先の配列の最初の位置に ポインタがリセットされます。 を FALSE にした場合は、配列の定義領域に注意 してください。定義されない領域にポインタが移ると、プログラムが 不正終了します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &LimitInClippingArea( ) [ , ] 【パラメータ】 コマンドセットの名前 リンク先のコマンドセット 【解説】 オブジェクトの座標値がクリッピングエリアを外れようとしたときに、 それをクリッピングエリア内に収まるように矯正するコマンドを、 として定義します。 このコマンドは、コマンドの特性上、ステージイベントとしては 使用できません。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &Kill( ) , [ ] 【パラメータ】 コマンドセットの名前 リンク先のコマンドセット 【解説】 オブジェクトの存在を抹消するコマンドを、 として定義 します。 このコマンドは、コマンドの特性上、ステージイベントとしては 使用できません。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &RewindCount( ){ COUNT = } [ , ] 【パラメータ】 コマンドセットの名前 巻き戻し先カウント値 リンク先のコマンドセット 【解説】 ステージカウンタ、もしくはオブジェクトのカウンタを に変更 するコマンドセットを として定義します。 このコマンドをステージイベントとして実行した場合は、ステージカウンタ が で指定した値になります。 オブジェクトイベントとして定義した場合は、オブジェクトのカウンタが で指定した値になります。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &ReflectPalette( ){ PAGE = STARTINDEX = ENDINDEX = TARGETPAGE = TARGETINDEX = } 【パラメータ】 コマンドセットの名前 転送元パレットの名前 転送元の転送開始インデックス番号 転送元の転送終了インデックス番号 転送先パレットの名前 転送先パレットの先頭インデックス番号 ※パレットの名前には、ユーザーが定義したパレットの他に  デフォルトで定義されているパレットを使用できます。 SCREENPALET :スクリーンのパレット 画面に表示されるパレットを指します。 【解説】 パレットの色情報を変更するコマンドを として定義します。 から までの 色情報を、番目のパレットから 先のパレットとしてコピーし\ます。 に SCREENPALET が指定されている場合は、表示に 使用されるパレットが変更されます。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &FadePalette( ){ PAGE = STARTINDEX = ENDINDEX = TARGETPAGE = TARGETINDEX = SPEED = } , , 【パラメータ】 コマンドセットの名前 転送元パレットの名前 転送元の転送開始インデックス番号 転送元の転送終了インデックス番号 転送先パレットの名前 転送先パレットの先頭インデックス番号 フェード速度 フェード継続時のリンクコマンドセット フェード終了時のリンクコマンドセット ※パレットの名前には、ユーザーが定義したパレットの他に  デフォルトで定義されているパレットを使用できます。 SCREENPALET :スクリーンのパレット 画面に表示されるパレットを指します。 【解説】 パレットをフェードさせるコマンドセットを として 定義します。 番目のパレットから先の パレットが、 から までの色になるようにフェードさせます。 に SCREENPALET が指定されている場合は、表示に 使用されるパレットが変更されます。 フェードは、1フレームあたり の変化量をでフェードします。 コマンド1回につき、 の量だけしかフェードしませんので、 フェードが終了するまでの間は連続的に実行する必要があります。 このコマンドセットは、コマンド実行終了後、フェードが終了して いない場合は を、フェードが終了している場合は を呼び出します。 を省略して を記述することは できません。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &ChangeStage( ){ INDEX = } 【パラメータ】 コマンドセットの名前 リンク先ステージのインデックス番号 【解説】 ステージを変更するコマンドを送るコマンドセットを として定義します。 このコマンドを実行すると、現在のステージが終了し、 で 指定したステージに切り替わります。 リンク先のステージは、「ファイル名定義ファイル」の %NEXTSTAGE 行で 指定します。 このコマンドセットを実行するとステージが切り替わるため リンクコマンドセットの設定はしないようにしてください。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &EnableInput( ){ SWITCH = } [ , ] 【パラメータ】 コマンドセットの名前 入力許可スイッチ 条件合致時のリンク先コマンドセット 条件非合致時のリンク先コマンドセット 【解説】 スティックまたはキーボードからの入力を受けつけるか否かを 変更するコマンドを、 として登録します。 に TRUE を指定すると、オブジェクトは入力を受け取る ことができるようになります。 を FALSE にすると、オブジェクトは入力を無視するように なります。 コマンドの特性上、このコマンドはステージイベントとしては使用 できません。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &EnableHitArea( ){ SWITCH = } [ , ] 【パラメータ】 コマンドセットの名前 当たり判定許可スイッチ リンク先コマンドセット 【解説】 当たり判定を受けつけるか否かを変更するコマンドを、 として登録します。 に TRUE を指定すると、オブジェクトの当たり判定が 有効になります。 を FALSE にすると、オブジェクトは当たり判定を無視 するようになります。 コマンドの特性上、このコマンドはステージイベントとしては使用 できません。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &EnableVisible( ){ SWITCH = } [ , ] 【パラメータ】 コマンドセットの名前 表示・非表示スイッチ リンク先コマンドセット 【解説】 表示するか否かを設定するコマンドを、 として登録します。 に TRUE を指定すると、描画処理が実行されるようになります。 を FALSE にすると、オブジェクトは描画処理を無視 するようになります。 コマンドの特性上、このコマンドはステージイベントとしては使用 できません。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &StartToSaveInput( ){ FILEINDEX = } [ , ] 【パラメータ】 コマンドセット名 セーブファイルのインデックス番号 【解説】 ジョイスティック入力情報の、ファイルへの書き込みを開始します。 ファイル名は、input.inp となります。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &StartToLoadInput( ){ FILEINDEX = } [ , ] 【パラメータ】 コマンドセット名 ロードする入力ファイルのインデックス番号 【解説】 ジョイスティック入力情報の、ファイルからの読み込みを開始します。 ファイル名は、input.inp となります。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &CloseInputFile( ) [ , ] 【パラメータ】 コマンドセット名 【解説】 入力情報のロード/セーブを終了します。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &JoyOnLoad( ) [ , [ , ] ] 【パラメータ】 コマンドセット名 ロード中の場合のリンクコマンドセット名 ロード中でない場合のリンクコマンドセット名 【解説】 ジョイスティックからの入力情報を、ファイルから読み込んでいるか 否かで分岐するコマンドセットを、 として登録します。 このコマンドは、実行した瞬間にジョイスティックの情報をファイルから 読んでいる途中だった場合、 を実行します。 それ意外の場合は、 を実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &JoyUpEvent( ) [ , [ , ] ] &JoyDownEvent( ) [ , [ , ] ] &JoyLeftEvent( ) [ , [ , ] ] &JoyRightEvent( ) [ , [ , ] ] &JoyButtonEvent( ){ BUTTON = } [ , [ , ] ] 【パラメータ】 コマンドセット名 ボタンの番号 条件合致時のリンク先コマンドセット 条件非合致時のリンク先コマンドセット 【解説】 ジョイスティックもしくはキーボードからの入力があったときに 駆動するイベントを定義するためのコマンドセットを として定義します。 ボタンが押されたときのイベントに関してのみ、ボタンの番号を に指定します。 ボタンは、最初のボタンが 0 で、順に 1,2,3... の番号で指定します。 ボタン番号の最大値は 31 です。 キーボードでは、ボタン 0〜3 が、Z,X,C,V に割り当てられています。 また、ボタン31はF12キーに割り当てられています。 それ以外のボタンは、キーボードからは制御できません。 このコマンドは、実行した瞬間にジョイスティックの各方向もしくは ボタンが押し下げ状態になっていた場合、 を実行します。 それ意外の場合は、 を実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &JoyButtonPressedEvent( ){ BUTTON = } [ , [ , ] ] 【パラメータ】 コマンドセット名 ボタンの番号 リンク先のコマンドセット 【解説】 基本的には、&JoyButtonEvent と同様です。 このコマンドは &JoyButtonEvent と違って、入力が一度受け付け られると、キーが放されるまで次の入力を受け付けません。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &CountEvent( ){ COUNT = } [ , [ , ] ] 【パラメータ】 コマンドセットの名前 発動カウント 条件合致時のリンク先コマンドセット 条件非合致時のリンク先コマンドセット 【解説】 特定のカウントになると発動するイベントを、 として 定義します。 このコマンドは、ステージまたはオブジェクトのカウントが で指定した値になったときのみ に指定した コマンドセットを実行します。 実行するタイミングでないときには、 が実行されます。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &PlayWav( ){ INTRO = PAGE = LOOP = } [ , ] 【パラメータ】 音声のイントロ部分の wav 名 音声のメインの部分の wav 名 音声終了時に、自動的に巻き戻して最初から 再生しなおすか否か リンク先のコマンドセット 【解説】 音声を再生するコマンドのコマンドセットを として定義 します。 には、リソース定義ファイルで定義した 音声ファイル名を指定します。 は、TRUE か FALSE のいずれかで指定します。 が両方指定されると、まず が 再生され、それが終了すると同時に が再生されるように なります。 のみ定義された場合は、 のみが再生されます。 が終了したとき、 が TRUE になっていると 音声が繰り返し再生されます。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &SaveScreenShot( ) [ , ] 【パラメータ】 コマンドセットの名前 リンク先のコマンドセット 【解説】 スクリーンショットをとるコマンドセットを として 定義します。 スクリーンショットは、起動直後から SCR00000.bmp , SCR00001.bmp , ... の順に自動的にファイル名が生成され、保存されます。 このコマンドセットは実行終了後、最初のリンクコマンドセットのみ 実行します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &StopCount( ) 【パラメータ】 コマンドセットの名前 【解説】 ステージもしくはオブジェクトのカウンタを一時停止します。 カウンタが停止している状態で呼ばれても問題ありません。 このコマンドセットは、オブジェクトにアタッチされると アタッチされたオブジェクトに作用します。 ステージイベントとしてアタッチされると、ステージに対して 作用します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &StartCount( ) 【パラメータ】 コマンドセットの名前 【解説】 ステージもしくはオブジェクトのカウンタを再開させます。 カウンタが停止状態でない場合に呼ばれても問題ありません。 このコマンドセットは、オブジェクトにアタッチされると アタッチされたオブジェクトに作用します。 ステージイベントとしてアタッチされると、ステージに対して 作用します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &StopStageCount( ) 【パラメータ】 コマンドセットの名前 【解説】 ステージのカウンタを一時停止します。 カウンタが停止している状態で呼ばれても問題ありません。 このコマンドセットは &StopCount コマンドと違って、オブジェクトに アタッチされている場合でもステージカウントに作用します。 ---------------------------------------------------------------------- ---------------------------------------------------------------------- 【記述】 &StartStageCount( ) 【パラメータ】 コマンドセットの名前 【解説】 ステージのカウンタを再開させます。 カウンタが停止状態でない場合に呼ばれても問題ありません。 このコマンドセットは &StartCount コマンドと違って、オブジェクトに アタッチされている場合でもステージカウントに作用します。 ----------------------------------------------------------------------