おしえて!! CardWirthEditor

画像を表示してみよう!

宿の亭主
では、実際にエフェクトブースターのファイルを作っていこう。
テキストエディタは用意したな?
冒険者
おっけーよ。
宿の亭主
よし。
じゃあまずはエフェクトブースターの基本である、画像の表示からいくぞ。
エフェクトブースター専用ファイルで、画像を読み込むことができるファイルをなんていったか覚えているか?
冒険者
確か、JPY1ファイルだったかしら。
宿の亭主
そうだ。
JPY1ファイルを作ってみよう。
冒険者
まずは何をすれば?
宿の亭主
まずはテキストエディタを起動しよう。
起動したら、そのままファイルを保存するんだ。
冒険者
まずはファイル自体を作るわけね。
宿の亭主
うむ。
この時、ファイルの拡張子を「.txt」から「.jpy1」に変えておくのを忘れないようにな。
JPY1ファイルの拡張子は.jpy1だ。
冒険者
拡張子って、ファイルの後ろにくっついている文字のことね。
ファイル名はなんでもいいの?
宿の亭主
なんでもいい。
とりあえず「effect.jpy1」とでもしておいたらどうだ。
冒険者
えーと……うん、保存したよ。
宿の亭主
よし。
では、次のように書いてみるんだ。
[init]
[ball]
filename=ball.bmp
animation=1
wait=1000
冒険者
ん? どういう意味?
宿の亭主
とりあえず書いてみるんだ。
冒険者
よくわかんないけど……はい、書いたよ。
宿の亭主
よし。
これで画像の表示は完成だ。
冒険者
え、これだけ?
宿の亭主
これだけ。
じゃあ本当に表示されるかどうか実際に見てみよう。
CardWirthEditorで適当なシナリオを作成するんだ。
冒険者
作ったよー。
宿の亭主
作成されたシナリオフォルダに、今作ったJPY1ファイルと、ball.bmpというビットマップファイルを入れておく。
冒険者
ball.bmpなんて無いよ。
宿の亭主
じゃあこれを使え。

ボール君

冒険者
またこれか。
宿の亭主
いいから。
冒険者
はいはい。
二つとも入れたよ。
宿の亭主
よし。
では、CardWirthEditorで適当なエリアを作って、シナリオ開始エリアもそこに設定しておく。
そして、そのエリアの到着イベントに背景変更コンテントを追加する。
冒険者
シナリオ作成から開始エリア作成までの流れはもう慣れたわ。
宿の亭主
で、背景変更コンテントのプロパティを開き、背景を「背景継承」に設定する。
「背景継承」に設定することで、背景を維持したままセルを表示させられるわけだ。
冒険者
この時点では変化無いけどね。
それで、次はセルの作成?
宿の亭主
そうだ。
セルの設定で、画像の設定にさっきのJPY1ファイルを指定して、OKだ。
冒険者
あら?
Maskとか簡単設定は何もしなくていいの?
宿の亭主
しなくていい。
WidthとHeightが0なので設定画面上では何も見えないが、この時点では気にしないでくれ。

セルまで設定した画面

冒険者
ふーん。まぁいいや。
もう実行していいの?
宿の亭主
いいぞ。
CardWirthで作ったシナリオをプレイしてみよう。

CardWirthでシナリオ実行

冒険者
あ、絵がでてきた! ……と思ったら消えた。
宿の亭主
エフェクトブースターでの表示は、あくまで一時的なものだからな。
冒険者
でも、文字を書いただけなのに画像が表示されるなんて不思議ねぇ。
宿の亭主
では、さっき書いたJPY1ファイルの説明をしよう。
[init]
[ball]
filename=ball.bmp
animation=1
wait=1000
宿の亭主
まず、JPY1ファイルには「セクション」という区切りが存在する。
[]で囲まれた文字が、そのセクションの名前だ。
冒険者
[init]と[ball]っていうのがあるわね。
宿の亭主
そう。
ここでは、initセクションとballセクションが存在するわけだ。
[セクション名]から、次の[セクション名]までが一つのセクションとなる。

initセクションとballセクション

宿の亭主
JPY1ファイルは、基本的に上のセクションから順番に実行する。
それを踏まえた上で一行ずつ説明するぞ。
冒険者
はーい。
宿の亭主
まず1行目。
[init]
宿の亭主
これはさっき言った通り、initセクションの開始部だな。
といっても、すぐ次の行に[ball]があるので、initセクションの終了部でもあるわけだ。
冒険者
じゃあinitセクションはすぐ終わっちゃうのね。
何の意味があるの?
宿の亭主
initセクションでは、本来色々な初期設定ができるんだが、ここでは特に必要ないので省略している。
結果、initセクションには何も書かれていない。
冒険者
なるほど。省略してるわけね。
[ball]
宿の亭主
2行目もさっき言った通り、ballセクションの開始部だ。
冒険者
ballセクションにはどんな役目があるの?
宿の亭主
実は、initセクションは「init」という名前でなければいけないが、それ以外のセクションには特に役目が与えられていないし、名前も自由に設定していいんだ。
ここではボールの画像を表示するから[ball]と名前を付けただけの話だ。別に[ボール表示]とかでもいい。
冒険者
ふぅん。
全角文字でもいいわけね。
filename=ball.bmp
宿の亭主
3行目。ここでやっとパラメータが登場する。
冒険者
パラメータ?
宿の亭主
パラメータとは、JPY1ファイルが持っている設定項目のことだ。
パラメータに値を設定することで、様々な表現ができるようになる。
パラメータは以下のように設定するんだ。
パラメータ名=パラメータの値
宿の亭主
3行目でみてみると、パラメータ名は「filename」、パラメータの値は「ball.bmp」となるわけだ。
冒険者
で、ここでは何をしているの?
宿の亭主
ここではfilenameパラメータにball.bmpを設定している。
filenameパラメータは、画像を読み込むときに使用するパラメータだ。
今回はball.bmpを表示させたいから、ここでball.bmpを指定している。
冒険者
表示させたいファイル名を指定するわけね。
animation=1
宿の亭主
4行目では、animationパラメータを設定している。
animationパラメータは、JPY1ファイルにとってかなり重要なパラメータなので覚えておくように。
冒険者
なんで重要なの?
宿の亭主
画像をただ表示させるにせよ、アニメーションさせるにせよ、このanimationパラメータが必要になるからな。
animationパラメータには0〜4の値が設定できる。
冒険者
ここでは1が設定されてるわね。
宿の亭主
この値にもちゃんと意味があるんだが、とりあえず現時点ではあまり考えなくていい。
簡単にいうと、1、2、3を指定すると画像が表示され、0、4を指定すると表示されなくなる。
詳細はアニメーションをやる時に教えよう。
冒険者
とりあえず、ここでは画像を表示させたいから1を指定ってことね。
wait=1000
宿の亭主
5行目のwaitパラメータは、その名の通りウェイト時間を設定できる。
ここでいうウェイト時間とは、画像が表示されてからの待ち時間のことだ。
これを設定しないと画像が一瞬で消えてしまうぞ。
冒険者
1000っていうのは1000秒……なわけないから、ミリ秒指定?
宿の亭主
そうだ。1000で1秒待つことになる。
[init]
[ball]
filename=ball.bmp
animation=1
wait=1000
宿の亭主
これでこのJPY1ファイルが意味している内容がわかっただろう。
冒険者
えーと、「ball.bmpを表示して、1秒待つ」って感じかな。
宿の亭主
その通り。
どうだ? 簡単だろう。
冒険者
そうねー。
でもこれだけなら普通にセルでやっても労力的には大差ないわね。
宿の亭主
まぁ、これは簡単な例だからな。
冒険者
あと、initセクションは何もパラメータを書かないなら消してもいいんじゃない?
宿の亭主
いやいや。initセクションにはパラメータが「無い」わけじゃないぞ? さっきも言ったが、「省略」しているだけだ。
JPY1ファイルでは、全てのパラメータは省略することができる。だが、「initセクションがここにあるぞ」という記述自体は省略してはいけない。
冒険者
なるほどねぇ。
宿の亭主
パラメータを省略すると、そのパラメータの値には初期値が設定される。
初期値以外を使うときだけパラメータを設定すればいいと思うぞ。
冒険者
ねぇねぇ、他にも色々なパラメータがあるんでしょ?
使ってみたいなぁ。
宿の亭主
それは次回のお楽しみ。
冒険者
えー。