コマンド一覧

現在以下のコマンドをサポートしています。詳細は、ページ下部のコマンド詳細を参照してください。

引数に(=3)のように書かれている場合は、初期設定のデフォルト引数があることを示します。

コマンド、引数形式処理時間機能
@text, "文字列"テキストが出るまでメッセージボックスにテキストを表示
@name, "文字列", 数値(=3)名前が出るまでメッセージボックスに名前を表示
@set_name, "文字列"即時メッセージボックスに名前をアニメーションなしで表示。
@new_page, 数値(=3)テキストが消えるまでメッセージボックスのテキストを消去
@new_page_name, 数値(=3)テキストが消えるまでメッセージボックスのテキストと名前を消去
@wait, 数値指定したフレーム数指定したフレーム数処理を止めて、待つ。
@title, "文字列"即時開始時に左上に表示されるタイトルを設定します。
@in_chara, 数値, 数値キャラが出るまで
第二引数が0なら即時
キャラクタを非表示状態から表示状態にする。
@out_chara, 数値, 数値キャラが消えるまで
第二引数が0なら即時
キャラクタを表示状態から非表示状態にする。
@set_chara, 数値, "文字列"即時キャラクタの画像を設定する。
@change_chara, 数値, "文字列", 数値(=15)キャラが変わるまでキャラクタの画像をクロスフェードで変更する。
@modify_chara, 数値, "文字列", 数値(=6)キャラが変わるまでキャラクタの画像を上書きで変更する。顔の表情だけが変わる場合に有効。
@move_chara_x, 数値, 数値, 数値キャラが動き終わるまで
第三引数が0なら即時
キャラクタを指定したx位置に動かす。
@set_bg, "文字列"即時背景の画像を変更する。
@modify_bg, "文字列", 数値背景が変わるまで背景の画像を新しい画像が上書きしていくように変更する。
@shake_all, 数値指定したフレーム数画面全体を指定したフレーム数だけ揺らす。
@shake_dialog, 数値指定したフレーム数メッセージボックスを指定したフレーム数だけ揺らす。
@play_bgm, "文字列", 数値(=1), 数値(=0)即時ボリューム、フェードインフレーム数を指定してBGMを再生する。
@stop_bgm, 数値即時フェードアウトフレーム数を指定してBGMを停止する。
@bgm_volume, 数値, 数値即時BGMのボリュームを指定したフレーム数かけて変更する。
@play_se, "文字列", 数値(=1)即時SEをボリュームを指定して再生する。
@wait_before, "コマンド名", 数値即時指定したコマンドの前にウェイトを入れる設定を行う。
@wait_after, "コマンド名", 数値即時指定したコマンドの後にウェイトを入れる設定を行う。
@default_arg, "コマンド名", 数値, 引数即時指定したコマンドにデフォルト引数を設定する。
@data, "リソース名", "url"即時指定したurlのデータをリソースとして登録する。

コマンド詳細

メッセージボックス

@text, "文字列"

文字列で指定した文字をメッセージボックスに追加で表示します。現在出ている行はそのままにして、改行を入れて次の行から表示します。

文字は一文字ずつ表示されていきます。文字を全て表示し終わったらコマンドが終了します。

メッセージボックスの限度である4行を超えてしまうと、それ以降の行は表示されなくなってしまいますのでご注意ください。テキストを消すには、@new_page@new_page_nameを使います。

コマンド行でない、テキストが単に書かれた行(テキスト行)は、内部的には@textの省略形として扱われます。このことは、@wait_before@wait_afterを使用する場合に重要になります。

@name, "文字列", 数値(=3)

文字列で指定した文字をダイアログの名前欄に表示します。第2引数の数値は、名前をフェードインするときのフレーム数で、初期状態では3がデフォルト指定されており、省略可能です。

名前のフェードインが終わったら、このコマンドは終了します。

このコマンドは、基本的には@new_page_nameでダイアログの内容と名前を一緒に消した後(つまり、喋るキャラクターが変わるとき)に使用します。

このコマンドの後には、初期状態で5フレーム自動ウェイトが入ります。

@set_name, "文字列"

文字列で指定した文字をダイアログの名前欄に表示します。

このコマンドは即時で処理されます。@nameと異なり、名前をフェードインせずに変更します。

@new_page, 数値(=3)

現在ダイアログに表示されている文字をフェードアウトして消します。名前は消えません。名前も一緒に消すには@new_page_nameを使用してください。

フェードアウトが終わったらこのコマンドが終了します。

第1引数の数値で、フェードアウトに何フレームかけるかを設定します。初期状態で、この引数は3がデフォルトになっていて、省略可能です。

@new_page_name, 数値(=3)

現在ダイアログに表示されている文字と名前をフェードアウトして消します。テキストだけを消すには@new_pageを使用してください。

フェードアウトが終わったらこのコマンドが終了します。

第1引数の数値で、フェードアウトに何フレームかけるかを設定します。初期状態で、この引数は3がデフォルトになっていて、省略可能です。

ウェイト

@wait, 数値

数値で指定したフレーム数処理を止めて待ちます。

指定したフレーム数経過したら、コマンドが終了します。

タイトル

@title, "文字列"

ローディング画面、及び開始してからしばらく左上に表示されるタイトルを設定します。このコマンドをスクリプトに含めていない場合、タイトルは表示されません。

このコマンドは、即時で実行されます。

キャラクタ

@in_chara, 数値, 数値

第1引数で指定した番号のキャラクタを、表示されていない状態から表示します。第2引数で指定した数値のフレームでフェードインします。

キャラクタ番号は、0もしくは1を指定できます。(つまり、最大2人キャラクタを表示できます。)

キャラクタのフェードインが終わったらコマンドが終了します。第2引数に0を指定した場合、このコマンドは即時で実行され、キャラクタはフェードイン無しですぐに表示されます。

@out_chara, 数値, 数値

第1引数で指定した番号のキャラクタを、表示された状態から非表示にします。第2引数で指定した数値のフレームでフェードアウトします。

キャラクタ番号は、0もしくは1を指定できます。

キャラクタのフェードアウトが終わったらコマンドが終了します。第2引数に0を指定した場合、このコマンドは即時で実行され、キャラクタはフェードアウト無しですぐに非表示になります。

@set_chara, 数値, "文字列"

第1引数で指定した番号のキャラクタの画像を、第2引数で指定した名前のキャラクタ画像に変更します。

キャラクタ番号は、0もしくは1を指定できます。

キャラクタ画像の名前は、データ一覧にあるキャラクタ画像名を指定してください。

このコマンドは、即時で実行されます。

@change_chara, 数値, "文字列", 数値(=15)

第1引数で指定した番号のキャラクタの画像を、第2引数で指定した名前のキャラクタ画像に、第3引数で指定したフレーム数かけて変更します。このとき、クロスフェード(もとの画像のアルファ値を透明に近づけると同時に変更先の画像のアルファ値を不透明に近づけていく方法)を使用します。

キャラクタ番号は、0もしくは1を指定できます。

キャラクタ画像の名前は、データ一覧にあるキャラクタ画像名を指定してください。

第3引数には、初期状態で15というデフォルト値が指定されていて、省略可能です。

後述する@modify_charaとの違いは、画像の切り替え方です。@change_charaの切り替え方は、キャラクタ自体が切り替わったり、キャラクタのポーズが変わるのには向きますが、顔の表情が変わるだけのときには不自然に見えてしまいます。そのような場合は、代わりに@modify_charaを使用してください。

@modify_chara, 数値, "文字列", 数値(=6)

第1引数で指定した番号のキャラクタの画像を、第2引数で指定した名前のキャラクタ画像に、第3引数で指定したフレーム数かけて変更します。このとき、クロスフェードではなく、元画像をそのまま表示した状態で変更先の画像を透明から不透明に近づけていく方法を使用します。

キャラクタ番号は、0もしくは1を指定できます。

キャラクタ画像の名前は、データ一覧にあるキャラクタ画像名を指定してください。

第3引数には、初期状態で6というデフォルト値が指定されていて、省略可能です。

@change_charaとの違いは、画像の切り替え方です。@modify_charaの切り替え方は、キャラクタの画像の輪郭部分が変わらずに、例えば表情だけが変わるような場合に自然に見えますが、輪郭が大きく変わる、もしくは別のキャラに変えるような場合は重なって見えてしまって不自然になります。このような場合は、@change_charaを使用してください。

@move_chara_x, 数値, 数値, 数値

第1引数で指定した番号のキャラクタの画像を、第2引数で指定したx座標の位置に、第3引数で指定したフレーム数かけて移動します。

キャラクタ番号は、0もしくは1を指定できます。

第2引数の数値は、0~1の数値で指定します。0.5が画面中央となり、0に近づくほど左に、1に近づくほど右になります。

第3引数に0を指定した場合は、即時で実行され、アニメーションなしで移動します。

背景

@set_bg, "文字列"

背景の画像を、第1引数で指定した名前の背景画像に変更します。

キャラクタ画像の名前は、データ一覧にある背景画像名を指定してください。

このコマンドは、即時で処理されます。

@modify_bg, "文字列", 数値

背景の画像を、第1引数で指定した名前の背景画像に、第2引数で指定したフレーム数かけて変更します。元画像をそのまま表示した状態で変更先の画像を透明から不透明に近づけていく方法を使用します。

キャラクタ画像の名前は、データ一覧にある背景画像名を指定してください。

画像の切り替えが終わったらコマンドを終了します。

画面全体への効果

@shake_all, 数値

画面全てを引数で指定した数値のフレーム数だけ揺らします。

揺らし終わったらコマンドを終了します。

@shake_dialog, 数値

メッセージボックスを引数で指定した数値のフレーム数だけ揺らします。

揺らし終わったらコマンドを終了します。

サウンド

サウンドのコマンドは、全て即時実行されることにご注意ください。これにより、再生制御を他の処理と平行で行うことができます。

@play_bgm, "文字列", 数値(=1), 数値(=0)

BGMを再生します。第1引数で指定した名前のBGMデータを、第2引数で指定したボリュームで、第3引数で指定したフレーム数でフェードインして再生します。

BGMデータの名前は、データ一覧にあるBGMデータ名を指定してください。

第2引数のボリュームは0から1の数値としてください。1が元データの音量そのままとなります。初期状態では1がデフォルト値となっています。

第3引数に0を指定するとすぐに指定したボリュームで再生しますが、0以外だとそのフレーム数かけてフェードインします。初期状態では0がデフォルト値となっています。

このコマンドは、即時で実行され、次に処理が移ります。フェードインを待つことはありませんので、ご注意ください。

@stop_bgm, 数値

BGMを停止します。第1引数に0を指定するとすぐに停止しますが、0以外だとそのフレーム数かけてフェードアウトします。

このコマンドは、即時で実行され、次に処理が移ります。フェードアウトを待つことはありませんので、ご注意ください。

@bgm_volume, 数値, 数値

現在再生しているBGMのボリュームを、現在のボリュームから第1引数で指定した値に変更します。第2引数に0を指定するとすぐに変更しますが、0以外だとそのフレーム数かけて変更します。

このコマンドは、即時で実行され、次に処理が移ります。ボリュームの変更を待つことはありませんので、ご注意ください。

@play_se, "文字列", 数値(=1)

SEを再生します。第1引数で指定した名前のSEデータを、第2引数で指定したボリュームで再生します。

SEデータの名前は、データ一覧にあるSEデータ名を指定してください。

第2引数のボリュームは0から1の数値としてください。1が元データの音量そのままとなります。初期状態では1がデフォルト値となっています。

その他、システム系のコマンド

@wait_before, "コマンド名", 数値

第1引数で指定した名前のコマンドを実行する前に、第2引数で指定したフレーム数のウェイトを入れます。初期状態で、@new_page@new_page_nameにはウェイトが指定されています。

詳しくは、作成方法の自動ウェイトを参照してください。

このコマンドが実行されると、それまでの設定が上書きされ、以降のコマンドに適用されます。つまり、スクリプトの途中で設定を切り替えることができます。

このコマンドは即時で実行されます。

@wait_after, "コマンド名", 数値

第1引数で指定した名前のコマンドを実行した後に、第2引数で指定したフレーム数のウェイトを入れます。初期状態で、@name@change_chara@modify_chara@text@new_page@new_page_nameにはウェイトが指定されています。

詳しくは、作成方法の自動ウェイトを参照してください。

このコマンドが実行されると、それまでの設定が上書きされ、以降のコマンドに適用されます。つまり、スクリプトの途中で設定を切り替えることができます。

このコマンドは即時で実行されます。

@default_arg, "コマンド名", 数値, 引数

第1引数で指定した名前のコマンドの、第2引数で指定した個数目の引数に、第3引数で指定したデフォルト値を指定します。第2引数は0始まりで与えてください。引数は、数値と文字列の何れも指定できます。例えば、

@default_arg, "shake_all", 0, 5

とすると、@shake_allの最初の引数のデフォルトが5に設定され、省略できるようになります。

デフォルト引数は、一つのコマンドで、引数の位置それぞれに設定することができます。つまり、第1引数と第2引数の両方に設定すれば、両方を省略できるようになります。

このコマンドは即時で実行されます。

@data, "リソース名", "url"

指定したurlのデータをリソースとして登録します。これにより、標準ではない、任意の画像データ・サウンドデータを使用することができます。例えば、

@data, "kokeshi", "http://www7136ue.sakura.ne.jp/kokeshi_figure.png"

とすることにより、http://www7136ue.sakura.ne.jp/kokeshi_figure.pngにある画像ファイルをkokeshiという名前で登録することができます。これをスクリプトの先頭で行っておくことにより、

@set_chara, 0, "kokeshi"

のように、画像として使用することができます。キャラの画像は透過が必要であるため、pngファイルである必要がありますが、背景画像であればjpgでも大丈夫です。背景画像は、サイズを1136x640にしてください。また同様に、サウンドデータとしてmp3も使用できます。

ただ、本サイトは動的にデータを読み込んでいるため、クロスドメインという問題があり、ほかのサイトからデータを取ってくるのは準備が必要です。クロスドメインというのは、簡単に言うとWebサイトが動的にデータを取得する場合、他のサイトからデータを取ってくるのは手続きが必要ということで、セキュリティのための制限です。モダンブラウザはほとんどこの制限が有効になっています。

クロスドメインの動的なアクセスを有効にするには、HTTPのヘッダAccess-Control-Allow-Headersに利用者のドメイン(このサイトの場合は、http://plk.sakura.ne.jp)を追加する必要があります。つまり、ヘッダに

Access-Control-Allow-Origin: http://plk.sakura.ne.jp

という行が含まれていればよいです。

これを行うための方法がいろいろあり、詳しくはGoogleで検索していただけたらと思うのですが、apacheの設定が行える環境であれば、

とすることで、dataコマンドで参照できるようになります。