前回までで悟入幻想は完成しましたが、今回は公開するにあたっていくつか「それらしく」してみましょう。
#BackGround
で背景を変更できます。#Image
でスペルの説明の部分でグラフィックを表示できます。CreateItem
でアイテムを生成できます。それではいってみましょう。
少し凝ったスペルを作ったとき、背景も凝ってみたいことがあるかと思います。そのような場合は、#BackGround
を使います。これは #Text
とかと同じように、[ ] 内に背景情報を指定します。
[ ] の中には、次の情報を指定できます。
|
今回は次のグラフィックを背景にしてみます。
|
これを背景にするには、User
を使って次のようにします。
#BackGround[User(.\img\bg.png, 0, 0)]
パスの後にある 0, 0
はそれぞれ x 方向、y 方向の速度です。0 の時は指定しなくてもいいようなのですが、仕様変更があるかもしれませんし、とりあえず指定しておきましょう。
背景のサイズは、プレイ領域と同じ 384×448 がいいでしょう。
もっと凝った背景を作りたい場合は、@BackGround
内に自前で描写します。@BackGround
がある場合は、#BackGround
は無視されます。
最初から入ってるサンプルスペルを選択すると、スペル一覧の右下にスペルのグラフィックが表示されると思います。スペルを公開する時は、このようなグラフィックを用意しておくと「それっぽく」見えると思います。
これには、#Image
を使います。これは #Text
とかと同じように、[ ] 内にグラフィックへのパスを指定します。
ただ、このグラフィックへのパスなんですが、そのままだと th_dnh.exe からの相対パスを指定するようになっています。しかし、スクリプトからの相対パスの方が都合がいいですね。でないと、スクリプトを置く位置を変えると表示されなくなってしまうからです。
スクリプトからの相対パスを指定するには、パスの最初に .\
をつけます。
例えば、次のグラフィックを img というフォルダの中に入れておいた場合、
|
次のようにすれば、このグラフィックを表示することができます。
#Image[.\img\人界剣「悟入幻想 -Easy-」.png]
表示するグラフィックのサイズは 192×224 です。これは、プレイ領域を縦横それぞれ丁度半分にしたサイズです。画面をキャプチャして、プレイ領域の部分を切り取って、縮小してやるといいでしょう。画面のキャプチャは PrintScreen キーでできます。あとは Windows 付属のソフト「ペイント」にペーストし、そのまま最後まで作業できるはずです。画面のキャプチャを取る時は、リプレイを使うと楽です。
オリジナルの弾幕では、ボスを倒した後に点アイテムが出てきます。点アイテムを出すには、CreateItem
という関数を使います。
問題はどこでこの関数を呼べばいいかですが、敵を倒した直後に点アイテムが出てくるので、@Finalize
で呼べばいいことが分かります。
@Finalize { DeleteGraphic(imgBoss); loop(24) { let x = GetX + rand(-64, 64); let y = GetY + rand(-64, 64); CreateItem(ITEM_SCORE, x, y); } }
ここでは、敵を中心としてランダムに 24 個のアイテムを生成しています。
他にも BGM の設定など色々とやれることはあるのですが、今回はひとまずこれで終わりにしたいと思います。
以上の変更を行ったものをここに置いておきます。ZIP 形式で圧縮されているので、解凍して script フォルダに放り込んで下さい。ヘルプをローカルに置いて見ていると、ZIP の中身がインターネットエクスプローラ内で表示されるかもしれません。その際は、そこに表示されるフォルダを script フォルダに放り込めばOKです。
まだこの講座は続きますが、講座でまだ出てきてないことをしたい場合は、ヘルプを見て自分で色々試してみるのもいいかと思います。Web 上で見れるヘルプはここにあります。ただ、ずっと Web 上で見るのはサーバの負担になるかもしれないので、ダウンロードしてローカルで見れるヘルプも用意されています。ダウンロードできるヘルプはここにあります。ZIP 形式で圧縮されているので、解凍して好きなところに置いてください。
#BackGround
で背景を変更できます。#Image
でスペルの説明の部分でグラフィックを表示できます。CreateItem
でアイテムを生成できます。
次回はオブジェクト弾について話したいと思います。凝った弾幕を作るにはオブジェクト弾は欠かせません。オブジェクト弾を駆使して、今度は『波符「