スクリプトリファレンス 1.1

Outline
  1. スクリプトの基本仕様
  2. XMLヘッダ
  3. タグの構造
  4. タグ
    1. <シューティング></シューティング>
    2. <テキスト></テキスト>
    3. <ウィンドウ></ウィンドウ>
    4. <外部ファイル読み込み>[ファイル名]</外部ファイル読み込み>
    5. <オブジェクト></オブジェクト>
      1. <画像>[ファイル名]</画像> ( 必須事項 )
      2. <レイヤー>[0-4の整数(デフォルトは2)]</レイヤー>
      3. <横表示位置>[整数]<横表示位置>
      4. <縦表示位置>[整数]<縦表示位置>
      5. <コマ幅>[自然数(デフォルトは画像幅)]</コマ幅>
      6. <コマ高>[自然数(デフォルトは画像の高さ)]</コマ高>
      7. <コマ間隔>[自然数(デフォルトは-1, つまりコマ送りしない)]</コマ間隔>
      8. <横位置>[整数(デフォルトは0)]</横位置>
      9. <縦位置>[整数(デフォルトは0)]</縦位置>
      10. <横初速度>[実数(デフォルトは0)]</横初速度>
      11. <縦初速度>[実数(デフォルトは0)]</縦初速度>
      12. <幅>[自然数(デフォルトは0)]</幅>
      13. <高さ>[自然数(デフォルトは0)] </高さ>
      14. <左境界>[整数(デフォルトは0)]</左境界>
      15. <右境界>[整数(デフォルトは画面の幅)]</右境界>
      16. <上境界>[整数(デフォルトは0)]</上境界>
      17. <下境界>[整数(デフォルトは画面の高さ)]</下境界>
      18. <減衰率>[実数(デフォルトは1.2)]</減衰率>
      19. <ライフ>[自然数(デフォルトは1)]</ライフ>
      20. <種類>自機/敵/地形/自機弾/敵弾/地形弾/すりぬけ/自機専用地形/敵専用地形</種類>
      21. <アクションシーケンス></アクションシーケンス>
      22. <衝突リアクション></衝突リアクション>
      23. <被ダメージリアクション></被ダメージリアクション>
      24. <被破壊リアクション></被破壊リアクション>
      25. <パワーアップリアクション></パワーアップリアクション>
      26. <ダメージ量>[整数(デフォルトは0)]</ダメージ量>
      27. <弾性>[実数(デフォルトは1)]</弾性>
      28. <キー登録></キー登録>
    6. <場面></場面>
      1. <ラベル></ラベル>
      2. <時間>[自然数]</時間>
      3. <効果音></効果音>
      4. <音楽></音楽>
      5. <音楽停止></音楽停止>
      6. <背景></背景>
      7. <場面遷移></場面遷移>
      8. <オブジェクト></オブジェクト>
      9. <境界線></境界線>
    7. <アクションシーケンス></アクションシーケンス>
      1. <移動></移動>
      2. <場所移動></場所移動>
      3. <進路維持>[整数(デフォルトは0)]</進路維持>
      4. <進路変更>[実数(デフォルトは0)]</進路変更>
      5. <停止>[自然数(デフォルトは0)]</停止>
      6. <発射></発射>
      7. <自滅/>
      8. <減衰率>[実数]</減衰率>
      9. <追尾></追尾>
      10. <回数>[自然数(デフォルトは1)]</回数>
      11. <効果音></効果音>
      12. <スコア加算>[整数]</スコア加算>
      13. <場面移動>[場面の名前]</場面移動>
      14. <場面呼び出し>[場面の名前]</場面呼び出し>
      15. <場面終わり/>
  5. キーボードのボタン名
  6. システムが使用するキー

スクリプトの基本仕様

これはダイコンが使用するスクリプトはXMLによって表現されます。 XMLの詳細に関してはW3Cのサイトを参照してください。

XMLヘッダ

<?xml version="1.0" encoding="utf-8"?>XMLのバージョンと文字コードを指定します
<?xml-stylesheet type="text/xsl" href="shooting.xsl"?>スタイルシートを設定して、WEBブラウザでスクリプトを閲覧できるようにします

タグの構造

XMLではあらゆる情報はタグで表現されます。 また、本ゲームエンジンにおいてタグで記述する内容はC++やJavaでいうところのクラスに見立てることができます。

 開始タグ < [タグ名] 継承="[継承元となるクラスの名前]" 名前="[このクラスの名前]">
 終タグ </ [タグ名]>

開始タグと終タグは必ずセットで使います。 "継承"を指定すると、その継承元で設定された内容をデフォルトとして使うことができます。

タグ

<シューティング></シューティング>

これはルートタグです。 XMLヘッダとコメントを除く全てのスクリプトはこのタグに囲まれていなければなりません。

<テキスト></テキスト>

位置 <シューティング>または<場面>の下
実装されたバージョン 1.1

画面に表示する文字を定義します。 以下のイベントを指定することができます。 各イベントの実行に1フレーム要します。

  • <フォント>[フォントのファイル名]</フォント>
  • <横位置>[整数]</横位置>
  • <縦位置>[整数]</横位置>
  • <サイズ>[自然数(pt)]</サイズ>
  • <スタイル>[斜体/太字]</スタイル> ( 再定義不可 )
  • <色><赤>[0-255]</赤><緑>[0-255]</緑><青>[0-255]</青></色>
  • <文字>[任意の文字(日本語可)]</文字>
  • <時間>[自然数]</時間> ( 指定されたフレーム数の間、何もしません )

例:

        <テキスト>
            <フォント>みかちゃん.ttf</フォント>
            <横位置>300</横位置>
            <縦位置>200</縦位置>
            <サイズ>50</サイズ>
            <スタイル> 斜体    と  太字 </スタイル>
            <色><赤>255</赤><緑>128</緑><青>128</青></色>

            <文字>ほげほげほげほげ</文字>
            <時間>50</時間>
            <横位置>100</横位置>
            <縦位置>100</縦位置>
            <サイズ>150</サイズ>
            <色><赤>128</赤><緑>128</緑><青>255</青></色>
            <文字>ぴよpiyo</文字>
            <時間>200</時間>
        </テキスト>

<ウィンドウ></ウィンドウ>

位置 <シューティング>の下

画面に表示するウィンドウを設定します。 二つ以上設定された場合、最後に設定された内容を採用します。

以下の項目が指定可能です。

  • <幅>![自然数]</幅>
  • <高さ>![自然数]</高さ>

画面サイズは、フルスクリーン化を考えると以下の組み合わせがお薦めです。 最近はワイドサイズのディスプレイも増えているので、1440x900という設定も考えられますが、 処理能力的な不安が残ります。

  • 320 x 240
  • 640 x 480

例:

    <ウィンドウ>
        <幅>320</幅>
        <高さ>240</高さ>
    </ウィンドウ>

<外部ファイル読み込み>[ファイル名]</外部ファイル読み込み>

位置 <シューティング>の下

他のスクリプトファイルを読み込みます。 ファイル分割の目的に使用します。

<オブジェクト></オブジェクト>

位置 <シューティング>または<場面>の下

ゲームに登場する物体(オブジェクト)を定義します。

<画像>[ファイル名]</画像> ( 必須事項 )

オブジェクトの画像を指定します。 BMP, PNM (PPM/PGM/PBM), XPM, LBM, PCX, GIF, JPEG, PNG, TGA, TIFF のフォーマットを読み込み可能です。 ( 画像の無いオブジェクトを作りたい場合は、無色1pxの画像を作るなどして対応してください。)

通常はpngとjpegで十分だと思います。

png 透過色有り 可逆圧縮 自機や敵など、小さなキャラクターに最適
jpeg 透過色無し 不可逆圧縮(pngより圧縮率は高いが、画像は荒くなる) 背景画像に最適

<レイヤー>[0-4の整数(デフォルトは2)]</レイヤー>

画像を表示するレイヤーを指定します。 ダイコンでは一番奥のレイヤーが「0」、一番手前のレイヤーが「4」になっています。

背景は奥のレイヤーに表示して、メッセージやロゴは手前のレイヤーに表示するなどの利用法が挙げられます。

<横表示位置>[整数]<横表示位置>

<縦表示位置>[整数]<縦表示位置>

オブジェクトの位置に対して、画像を表示する位置を調整するときに使います。 例えば、横表示位置を-10にすると、画像の表示位置はオブジェクトの座標より左へ10ドットずれます。 余白がある場合や、当たり判定が画像サイズより小さい場合などに使います。

<コマ幅>[自然数(デフォルトは画像幅)]</コマ幅>

<コマ高>[自然数(デフォルトは画像の高さ)]</コマ高>

<コマ間隔>[自然数(デフォルトは-1, つまりコマ送りしない)]</コマ間隔>

これらのタグはアニメーションを制御するのに使用します。 各コマは<コマ幅>/<コマ高>で指定された長方形で、画像の中で右一列に並んでいるものとします。 <コマ間隔>で指定されたフレーム数ごとに次のコマを表示します。

<横位置>[整数(デフォルトは0)]</横位置>

<縦位置>[整数(デフォルトは0)]</縦位置>

オブジェクトが出現する位置を指定します。

<横初速度>[実数(デフォルトは0)]</横初速度>

<縦初速度>[実数(デフォルトは0)]</縦初速度>

オブジェクトの初速度を指定します。

<幅>[自然数(デフォルトは0)]</幅>

<高さ>[自然数(デフォルトは0)] </高さ>

オブジェクトのサイズを指定します。 これは当たり判定に使われます。

<左境界>[整数(デフォルトは0)]</左境界>

<右境界>[整数(デフォルトは画面の幅)]</右境界>

<上境界>[整数(デフォルトは0)]</上境界>

<下境界>[整数(デフォルトは画面の高さ)]</下境界>

オブジェクトの活動可能エリアを指定する。 <左境界>はウィンドウの左端からの距離を指定し、<右境界>はウィンドウの右端からの距離を指定します。 上下も同様に上端、下端を基準に指定します。

なお、活動可能エリアの外に出たオブジェクトは消滅します。 この時、被破壊リアクション等のリアクションは作動しません。

<減衰率>[実数(デフォルトは1.2)]</減衰率>

オブジェクトの速度は毎フレームごとにこの減衰率で割られることによって減速します。 アクションシーケンス内でこの値を変更することも可能です。

<ライフ>[自然数(デフォルトは1)]</ライフ>

オブジェクトのライフを指定します。 攻撃を受けてこの値が0になった場合は、<被破壊リアクション>が実行されます。

<種類>自機/敵/地形/自機弾/敵弾/地形弾/すりぬけ/自機専用地形/敵専用地形</種類>

当たり判定の際、オブジェクトを9つのグループに分けて当たり判定を行います。 当たり判定を行うグループの組み合わせは以下の通りです。

自機自機弾敵弾地形地形弾自機専用地形敵専用地形
自機 - x o o o o o x
自機弾 - - o x o x x x
- - - x o o x o
敵弾 - - - - o x x x
地形 - - - - - x x x
地形弾 - - - - - - x x
自機専用地形 - - - - - - - x
敵専用地形 - - - - - - - -

( o: 当たり判定を行う, x: 当たり判定を行わない)

<アクションシーケンス></アクションシーケンス>

オブジェクトは毎フレームごとにこの<アクションシーケンス>に登録されたコマンドを実行します。 詳しくは アクションシーケンス を参照してください。

<衝突リアクション></衝突リアクション>

オブジェクトが他のオブジェクトと衝突したとき、ここに登録されたコマンドを実行します。 ただし、1フレーム制限があります。 詳しくは アクションシーケンス を参照してください。

<被ダメージリアクション></被ダメージリアクション>

オブジェクトが衝突してダメージを受けたとき、<衝突リアクション>を実行したあとに、ここに登録されたコマンドを実行します。 ただし、1フレーム制限があります。 詳しくは アクションシーケンス を参照してください。

<被破壊リアクション></被破壊リアクション>

オブジェクトのライフが0になったとき、ここに登録されたコマンドを実行します。 ただし、1フレーム制限があります。 詳しくは アクションシーケンス を参照してください。

<パワーアップリアクション></パワーアップリアクション>

オブジェクトが衝突してパワーをもらったとき、<衝突リアクション>, <被ダメージリアクション>を実行したあとに、 ここに登録されたコマンドを実行します。 ただし、1フレーム制限があります。 詳しくは アクションシーケンス を参照してください。

<ダメージ量>[整数(デフォルトは0)]</ダメージ量>

他のオブジェクトと衝突したとき、衝突した相手に与えるダメージ量を指定します。

<弾性>[実数(デフォルトは1)]</弾性>

他のオブジェクトと衝突したとき、この値が大きいと相手を弾き飛ばすことができます。

計算式:

自分の速度 -= 相手の弾性/自分の弾性
相手の速度 += 自分の弾性/相手の弾性

<キー登録></キー登録>

各オブジェクトを操作するために、キーボードからの入力とアクションシーケンスを結びつけます。 詳しくは アクションシーケンス を参照してください。

また、アクションシーケンスを使ってこれらの入力の有効/無効を切り替えることができます。

<名前>[文字列]</名前> ( 必須事項 )

この登録に対する名前をつけます。 他のオブジェクトで同じ名前で登録しようとすると、上書きされます。

<キー>[ボタン名]</キー>

登録するキーボードのボタン名を指定します。 他の登録と重複しても構いません。 ( つまり、Aを押すとオブジェクトAとオブジェクトBが一斉に砲撃を開始するなんてこともできます。)

名前については、キーボードのボタン名を参照してください。

<押したとき>[アクションシーケンス]</押したとき>

登録したボタンが押されたとき、ここに登録されたコマンドを実行します。

<離したとき>[アクションシーケンス]</離したとき>

登録したボタンが離されたとき、ここに登録されたコマンドを実行します。

<場面></場面>

各場面に登場するオブジェクトを指定します。

<ラベル></ラベル>

文字、または画像のラベルを定義します。

<文字>[文字列]</文字>
<画像>[ファイル名]</画像> (文字か画像のどちらかを選べる)

文字か、ファイル名のどちらかを指定します。 (両方していした場合、文字を指定したとみなします。)

<横位置>[整数(デフォルトは0)]</横位置>
<縦位置>[整数(デフォルトは0)]</縦位置>

ラベルの表示位置を指定します。

<横速度>[実数(デフォルトは0)]</横速度>
<縦速度>[実数(デフォルトは0)]</縦速度>

ラベルの移動速度を指定します。 毎フレーム、指定したドット数だけ移動します。 ( 減衰率の影響は受けません。)

<時間>[自然数(デフォルトは2147483647以上)]</時間>

指定したフレーム数の間だけ存在します。 ( デフォルト値はint型の最大値としているため、プラットフォームに依存します。 )

<予備時間>[自然数(デフォルトは0)]</予備時間>

<演出>でフェードインを選んだ場合、ラベルの出現が完了してからの存在期間(フレーム数)を指定します。

<演出>フェードイン/フェードアウト/無し</演出>

<文字>を指定した場合に限り、演出を指定することができます。

  • フェードイン: だんだんと現れてきます。(<時間>経過で完全に現れる)
  • フェードアウト: だんだんと消えていきます。(<時間>経過で完全に消える)
  • 無し
<色></色>

<文字>を指定した場合に限り、文字の色を指定することができます。

<赤>[整数(0-255)(デフォルトは0)]</赤>
<緑>[整数(0-255)(デフォルトは0)]</緑>
<青>[整数(0-255)(デフォルトは0)]</青>

<時間>[自然数]</時間>

フレーム数を指定します。これは絶対値ではなく、前回の<時間>からの累積値となります。 例えば、

    <場面>
        <時間>100</時間>

        <オブジェクト 継承="ほげほげ"/>

        <時間>100</時間>

        <オブジェクト 継承="ほげほげ2号"/>

    </場面>
の場合、「ほげほげ」は場面開始から100フレーム後に出現します。 そして、「ほげほげ2号」はその100フレーム後(場面開始から200フレーム後)に出現します。

<効果音></効果音>

効果音を再生します。 爆発音やサウンドエフェクトの再生に使います。 <音楽>との違いは<チャンネル>を指定できることにあります。

<ファイル>[ファイル名]</ファイル> ( 必須項目 )

利用可能なフォーマット:

  • WAVE/RIFF (.wav)
  • AIFF (.aiff)
  • VOC (.voc)
  • MOD (.mod .xm .s3m .669 .it .med and more)
  • MIDI (.mid)
  • OggVorbis (.ogg)
<チャンネル>[自然数(デフォルトは0)]</チャンネル>

0から2までの数値を指定できます。 ことなるチャンネルなら同時に演奏できます。

<ループ>[自然数(デフォルトは0)]</ループ>

音のループ回数を指定します。 0ならループしません。1なら1回ループします(つまり2回演奏することになります)。 -1なら無限ループします。

<音楽></音楽>

BGMを再生するのに使います。 <効果音>と違い、フェードインやフェードアウトなどの効果も使えます。

<ファイル>[ファイル名]</ファイル> ( 必須項目 )

利用可能なフォーマット:

  • WAVE/RIFF (.wav)
  • AIFF (.aiff)
  • VOC (.voc)
  • MOD (.mod .xm .s3m .669 .it .med and more)
  • MIDI (.mid)
  • OggVorbis (.ogg)
<ループ>[自然数(デフォルトは0)]</ループ>

音楽のループ回数を指定します。 0ならループしません。1なら1回ループします(つまり2回演奏することになります)。 -1なら無限ループします。

<種類>通常/フェードイン/再開(デフォルトは通常)</種類>

音の再生開始の方法を指定します。

<時間>[自然数(デフォルトは5000)]</時間> (フェードインの時間(ms))

フェードインの時間をミリ秒単位で指定します。

<音楽停止></音楽停止>

演奏中の音楽を停止します。

<種類>停止/フェードアウト/ポーズ(デフォルトは停止)</種類>

音楽の停止方法を指定します。

<時間>[自然数]</時間> (フェードアウトの時間(ms))

フェードアウトの時間をミリ秒単位で指定します。

フェードアウト中に<音楽>が実行されると、フェードアウトが完了するまでシステム全体がストップするので注意してください。

<背景></背景>

背景画像を指定します。 指定した画像は左上に詰めて、タイル上に並べられます。

<画像>[ファイル名]</画像>

背景画像のファイルを指定します。

<横速度>[実数(デフォルトは0)]</横速度> ( 0より大きければ左へスクロール (キャラクタは右に移動しているように見える) )
<縦速度>[実数(デフォルトは0)]</縦速度> ( 0より大きければ上へスクロール (キャラクタは上に移動しているように見える) )

背景画像のスクロール速度を指定します。

<時間>[自然数]</時間>

背景の存在時間をフレーム数で指定します。

<場面遷移></場面遷移>

場面の移り変わりを制御します。

<場面名>[場面の名前]</場面名>

移動先の場面の名前を指定します。

<種類>終了/移動/割り込み(デフォルトは終了)</種類>

移動の種類を指定します。

  • 終了: 現在の場面を終了して、割り込み元の場面へと戻ります。割り込み元が無い場合は、ゲームを終了します。
  • 移動: 現在の場面を終了して、<場面名>で指定された場面に移動します。
  • 割り込み:現在の場面を中断して、<場面名>で指定された場面に移動します。

<オブジェクト></オブジェクト>

オブジェクトを指定できます。 オブジェクトを参照してください。

<境界線></境界線>

当たり判定を持つだけのオブジェクトです。 自機や敵の行動制限に使います。 また、オブジェクトの衝突によって境界線自身が動くことはありません。

<横位置>[整数(デフォルトは0)]</横位置>
<縦位置>[整数(デフォルトは0)]</縦位置>

境界線の位置を指定します。

<幅>[自然数(デフォルトは0)]</幅>
<高さ>[自然数(デフォルトは0)]</高さ>

境界線のサイズを指定します。

<フレーム数>[自然数(デフォルトは2147483647)]</フレーム数>

境界線の存在期間を指定します。

<種類>自機/敵/地形/自機弾/敵弾/地形弾/すりぬけ/自機専用地形/敵専用地形(デフォルトは自機)</種類>

当たり判定に用いる、境界線の種類を指定します。 種類を参照してください。

<弾性>[実数(デフォルトは1)]</弾性>

衝突時の跳ね返り具合を指定します。 弾性を参照してください

<アクションシーケンス></アクションシーケンス>

位置 <オブジェクト>, <アクションシーケンス>, <衝突リアクション>, <被ダメージリアクション>, <パワーアップリアクション>, <被破壊リアクション>, <押したとき>, <離したとき>の下

オブジェクトの行動(アクション)を羅列したもの(シーケンス)です。

また、アクションシーケンスの中にアクションシーケンスを書くこともできます。

1フレーム制限について: コマンドによっては0フレームで終了するものと、1フレーム以上消費するものがあります。 1フレーム制限下では実質的に0フレームで終了するコマンドしか実行できません。

時間あるいはフレーム数を指定するコマンドは全て1フレーム以上消費するものとみなします。

<移動></移動>

オブジェクトを毎フレームごとに指定された推進力で加速させます。

<横推進力>[実数(デフォルトは0)]</横推進力>
<縦推進力>[実数(デフォルトは0)]</縦推進力>

毎フレームごとに指定された推進力をオブジェクトの速度に加えます。

<時間>[自然数(デフォルトは0)]</時間>

指定されたフレーム数の間、移動を続けます。

<場所移動></場所移動>

特定の位置に向かってオブジェクトを加速させます。

<速度>[実数(デフォルトは1)]</速度>

毎フレームごとに指定された速度で加速します。

<横位置>[実数(デフォルトは0)]</横位置>
<縦位置>[実数(デフォルトは0)]</縦位置>

オブジェクトが向かう位置を指定します。

<時間>[実数(デフォルトは0)]</時間>

指定されたフレーム数の間、場所移動を続けます。

<進路維持>[整数(デフォルトは0)]</進路維持>

指定されたフレーム数の間、現在の速度(進路)を維持します。

<進路変更>[実数(デフォルトは0)]</進路変更>

現在の進路を指定した度数だけ、時計回りに回転させます。

<停止>[自然数(デフォルトは0)]</停止>

指定したフレーム数の間、何もしません。 ただし、現在の速度が0になるわけではなく、また、他のオブジェクトとの衝突によって受ける反動も0にはなりません。

<発射></発射>

オブジェクトを発射します。

<横位置>[整数(デフォルトは0)]</横位置> ( 発射する本体の中心が基準(0,0)となる)
<縦位置>[整数(デフォルトは0)]</縦位置>

発射側オブジェクトの中心を(0, 0)をして、発射するオブジェクトの出現位置を指定します。

<横初速度>[実数(デフォルトは0)]</横初速度>
<縦初速度>[実数(デフォルトは0)]</縦初速度>

発射するオブジェクトの初速度を指定します。

<オブジェクト名>[文字列]</オブジェクト名> ( 発射するオブジェクトの名前を指定する。) ( 必須項目 )
<方向>[整数(デフォルトは0)]</方向>

通常、アニメーションのコマは横一列に並んでいますが、 このコマンドによって、「行」を指定することができます。

これによって、一番上から、「右向きのアニメーション」、「下向きのアニメーション」、「左向きのアニメーション」などというように いくつも行を作って「方向」を表現できます。 しかしながら、速度によって自動的に表示する行を変更するような仕様ではありません。

<自滅/>

オブジェクトを消滅させます。 このとき、「被破壊リアクション」は実行されません。

<減衰率>[実数]</減衰率>

減衰率を指定した数値に変更します。

<追尾></追尾>

指定した種類のオブジェクトを追尾することができます。 しかしながら、特定の敵、あるいは自機を追尾することはできません。

<速度>[実数(デフォルトは1)]</速度>

指定した速度で追尾します。

<番号>[整数(デフォルトは0)]</番号> ( ターゲットの登録番号(何番に何が登録されているかなんて、誰も知らない) )

登録したオブジェクトはその種類ごとに内部のリストに登録されています。 通常、自機の0番目は今自分が操作している自機になります。 敵の0番目は画面の中にいる敵の中でもっとも最初に画面に現れたものになります。

もし指定した番号にオブジェクトが居ない場合は、0番目が追尾対象になります。

<種類>自機/敵/地形/自機弾/敵弾/地形弾/すりぬけ/自機専用地形/敵専用地形(デフォルトは自機)</種類>

追尾する相手の種類を指定します。

<時間>[自然数(デフォルトは1)]</時間>

指定されたフレーム数の間、追尾を行います。

<横速度>[実数(デフォルトは0)]</横速度> ( 追尾とは別に動く基本の動き)
<縦速度>[実数(デフォルトは0)]</縦速度>

追尾のために働く力とは別に、毎フレームごとにかかり続ける加速度です。

<横速度補正>[実数(デフォルトは0)]</横速度補正> ( 速度にかけられる補正値。0にすると横方向に追尾しなくなる。 )
<縦速度補正>[実数(デフォルトは0)]</縦速度補正>

それぞれ指定された値を速度に乗算します。 これによって、縦方向にしか追尾しない/横方向にしか追尾しないなどといった動きが可能になります。

<回数>[自然数(デフォルトは1)]</回数>

アクションシーケンスの実行回数を指定します。

<効果音></効果音>

効果音を再生します。<効果音>を参照してください。

<ファイル>[ファイル名]</ファイル>
<チャンネル>[自然数, 0]</チャンネル>
<ループ>[自然数, 0]</ループ>

<スコア加算>[整数]</スコア加算>

指定されたスコアを加算します。 しかし、現バージョンではスコアを表示する機能はありません。

<場面移動>[場面の名前]</場面移動>

現在の場面を破棄して、指定された場面に移動します。

<場面呼び出し>[場面の名前]</場面呼び出し>

現在の場面を保存して、指定された場面に移動します。

<場面終わり/>

現在の場面を終了します。 保存された場面がある場合は、そちらへ移動します。

キーボードのボタン名

Library.cppより抜粋

    // キーボードマッピング
    keyboardMap["上"] = SDLK_UP;
    keyboardMap["下"] = SDLK_DOWN;
    keyboardMap["左"] = SDLK_LEFT;
    keyboardMap["右"] = SDLK_RIGHT;
    keyboardMap["スペース"] = SDLK_SPACE;
    keyboardMap["改行"] = SDLK_RETURN;
    keyboardMap["バックスペース"] = SDLK_BACKSPACE;
    keyboardMap["タブ"] = SDLK_TAB;
    keyboardMap["エスケープ"] = SDLK_ESCAPE;
    keyboardMap["ダラー"] = SDLK_DOLLAR;
    keyboardMap["アンパーサンド"] = SDLK_AMPERSAND;
    keyboardMap["左かっこ"] = SDLK_LEFTPAREN;
    keyboardMap["右かっこ"] = SDLK_RIGHTPAREN;
    keyboardMap["アスタリスク"] = SDLK_ASTERISK;
    keyboardMap["プラス"] = SDLK_PLUS;
    keyboardMap["カンマ"] = SDLK_COMMA;
    keyboardMap["マイナス"] = SDLK_MINUS;
    keyboardMap["ピリオド"] = SDLK_PERIOD;
    keyboardMap["スラッシュ"] = SDLK_SLASH;
    keyboardMap["0"] = SDLK_0; // 大文字注意
    keyboardMap["1"] = SDLK_1;
    keyboardMap["2"] = SDLK_2;
    keyboardMap["3"] = SDLK_3;
    keyboardMap["4"] = SDLK_4;
    keyboardMap["5"] = SDLK_5;
    keyboardMap["6"] = SDLK_6;
    keyboardMap["7"] = SDLK_7;
    keyboardMap["8"] = SDLK_8;
    keyboardMap["9"] = SDLK_9;
    keyboardMap["コロン"] = SDLK_COLON;
    keyboardMap["セミコロン"] = SDLK_SEMICOLON;
    keyboardMap["小なり"] = SDLK_LESS;
    keyboardMap["等号"] = SDLK_EQUALS;
    keyboardMap["大なり"] = SDLK_GREATER;
    keyboardMap["クエスチョンマーク"] = SDLK_QUESTION;
    keyboardMap["@"] = SDLK_AT;
    keyboardMap["左ブラケット"] = SDLK_LEFTBRACKET;
    keyboardMap["右ブラケット"] = SDLK_RIGHTBRACKET;
    keyboardMap["キャレット"] = SDLK_CARET;
    keyboardMap["アンダースコア"] = SDLK_UNDERSCORE;
    keyboardMap["バッククォート"] = SDLK_BACKQUOTE;
    keyboardMap["バックスラッシュ"] = SDLK_BACKSLASH;

    keyboardMap["a"] = SDLK_a;
    keyboardMap["b"] = SDLK_b;
    keyboardMap["c"] = SDLK_c;
    keyboardMap["d"] = SDLK_d;
    keyboardMap["e"] = SDLK_e;
    keyboardMap["f"] = SDLK_f;
    keyboardMap["g"] = SDLK_g;
    keyboardMap["h"] = SDLK_h;
    keyboardMap["i"] = SDLK_i;
    keyboardMap["j"] = SDLK_j;
    keyboardMap["k"] = SDLK_k;
    keyboardMap["l"] = SDLK_l;
    keyboardMap["m"] = SDLK_m;
    keyboardMap["o"] = SDLK_o;
    keyboardMap["p"] = SDLK_p;
    keyboardMap["q"] = SDLK_q;
    keyboardMap["r"] = SDLK_r;
    keyboardMap["s"] = SDLK_s;
    keyboardMap["t"] = SDLK_t;
    keyboardMap["u"] = SDLK_u;
    keyboardMap["v"] = SDLK_v;
    keyboardMap["w"] = SDLK_w;
    keyboardMap["x"] = SDLK_x;
    keyboardMap["y"] = SDLK_y;
    keyboardMap["z"] = SDLK_z;
    keyboardMap["削除"] = SDLK_DELETE;

    keyboardMap["テンキー0"] = SDLK_KP0;
    keyboardMap["テンキー1"] = SDLK_KP1;
    keyboardMap["テンキー2"] = SDLK_KP2;
    keyboardMap["テンキー3"] = SDLK_KP3;
    keyboardMap["テンキー4"] = SDLK_KP4;
    keyboardMap["テンキー5"] = SDLK_KP5;
    keyboardMap["テンキー6"] = SDLK_KP6;
    keyboardMap["テンキー7"] = SDLK_KP7;
    keyboardMap["テンキー8"] = SDLK_KP8;
    keyboardMap["テンキー9"] = SDLK_KP9;
    keyboardMap["テンキーピリオド"] = SDLK_KP_PERIOD;
    keyboardMap["テンキー割り算"] = SDLK_KP_DIVIDE;
    keyboardMap["テンキーかけ算"] = SDLK_KP_MULTIPLY;
    keyboardMap["テンキーマイナス"] = SDLK_KP_MINUS;
    keyboardMap["テンキープラス"] = SDLK_KP_PLUS;
    keyboardMap["テンキーエンター"] = SDLK_KP_ENTER;
    keyboardMap["テンキーイコール"] = SDLK_KP_EQUALS;

    keyboardMap["ホーム"] = SDLK_HOME;
    keyboardMap["エンド"] = SDLK_END;
    keyboardMap["ページアップ"] = SDLK_PAGEUP;
    keyboardMap["ページダウン"] = SDLK_PAGEDOWN;

    keyboardMap["ファンクションキー1"] = SDLK_F1;
    keyboardMap["ファンクションキー2"] = SDLK_F2;
    keyboardMap["ファンクションキー3"] = SDLK_F3;
    keyboardMap["ファンクションキー4"] = SDLK_F4;
    keyboardMap["ファンクションキー5"] = SDLK_F5;
    keyboardMap["ファンクションキー6"] = SDLK_F6;
    keyboardMap["ファンクションキー7"] = SDLK_F7;
    keyboardMap["ファンクションキー8"] = SDLK_F8;
    keyboardMap["ファンクションキー9"] = SDLK_F9;
    keyboardMap["ファンクションキー10"] = SDLK_F10;
    keyboardMap["ファンクションキー11"] = SDLK_F11;
    keyboardMap["ファンクションキー12"] = SDLK_F12;
    keyboardMap["ファンクションキー13"] = SDLK_F13;
    keyboardMap["ファンクションキー14"] = SDLK_F14;
    keyboardMap["ファンクションキー15"] = SDLK_F15;

システムが使用するキー

  • "q", "esc" - ダイコンを終了する
  • "r" - リセット
  • "m" - デバッグ情報表示
  • "f" - フルスクリーン切り替え