2016年2月20日土曜日

ウディタでADV(ノベルゲー)作成講座4 立ち絵と名前の表示

立ち絵の表示


今回は枚数も少ないことですし、立ち絵の変更の処理も、前回つくったコモンイベント001[文章表示]に組み込んでいきましょう。
表情が変わるときとメッセージが表示されるときというのは同時に起こる場合がほとんどなので、一つのイベントにまとめると簡単だからです。



黄色く囲んだ「設定」のところを押してください。




文字列1は前回に設定しました。
今回は、数値1/コモンセルフ0にチェックして「立ち絵の表示」と名前をつけました。
また、文字列2/コモンセルフ6には「名前」と入力しました。
また、数値1に関しては「選択肢を手動作成」にチェックをいれ、内部値の設定をしました。
内部値0は「表示しない」
内部値1は「笑う」
内部値2は「意外そう」
内部値3は「不満げ」
内部値4は「口あけて笑う」と設定しています。
この選択肢に関しては、立ち絵の表情をわかりやすく言葉で表してあれば何でもいいです。
「立ち絵1」とかでも。

では、条件分岐を使って立ち絵の変更コマンドを入力していきましょう。




立ち絵は文章が表示される前に変更した方がいいと思うので、一番上の行にでも条件分岐コマンドを追加していきます。



条件を「このコモンセルフ0:立ち絵の表示「が「0」「と同じ」に設定します。

0の時は立ち絵を消したいときですから、「ピクチャ」コマンドで立ち絵を消す処理を入力します。



ピクチャ番号の横のチェックボックスにチェックを入れると複数のピクチャを一度に処理することができます。
「ピクチャ移動」で座標は「相対モード」にチェックをいれてxyともに0を入力し、「不透明度」も0を入力します。

続いて、立ち絵を表示する時の処理です。



変数の条件分岐で「このコモンセルフ0:立ち絵の表示」が「1」「と同じ」に設定します。
変数が1の時にはピクチャ番号10の立ち絵を表示したいのですが、一度すべての立ち絵を消去し
てから、ピクチャ番号10の不透明度を変更して、表示するようにします。



立ち絵を消去する処理は上でやった通りなので、コピー&ペーストすると簡単です。

その下に表示するコマンドを追加します。



ピクチャ番号10の不透明度を255に設定します。

「変数0」が「2」の時はピクチャ番号11が表示されるように、「3」の時はピクチャ番号12が表示されるように、「4」の時はピクチャ番号13が表示されるように、同じように条件分岐と不透明度の変更を設定していきます。



こんな感じになりました。


(ここまで書いてから、どれを選んでも結局一度立ち絵を消去するんだから、変数が0の時という条件を作る必要はなく、ピクチャを一回消去してから条件分岐させればよかったということに気づきました。
が、面倒くさいのでもうこのままにしておきます)


名前の表示

まず、名前を表示するためのメッセージウィンドウが必要です。
これも何度も描画→消去するよりも、移動で処理した方が軽いので、コモンイベント000[自動実行]に戻って、ゲーム開始時に読み込む処理を加えておきましょう。



ピクチャは番号21に設定しました。
表示タイプは「お手軽ウィンドウ」でファイル名に<SQUARE>と入力します。
座標はxが10、yが330でメッセージウィンドウに少しかかるくらいの位置にします。
不透明度はとりあえず0にしておきましょう。
カラーはメッセージウィンドウより少し明るめの色にしたかったので、R20/G50/B70にしました。

次にコモンイベント001[文章表示]に移動して、名前の表示処理をしていきましょう。
今度は文字列分岐を使います。



条件(文字列)を選択して、「cself6:名前」を指定します。
文字列は空白のままでOKです。
条件を「以外」にしてください。

まず先ほど設定したウィンドウを表示させるようにします。


ピクチャ番号21を移動させます。
座標は相対モードにチェックをいれてxyともに0、不透明度255、カラーは同値にチェックをいれます。

さて、名前は文字ですがピクチャとして表示させます。



ピクチャ番号22と入力し、ピクチャ表示させましょう。
表示タイプは「[3]文字列をピクチャとして描画」を選びます。
文字列には「¥cself[6]」と入力して、コモンセルフ6番の内容がそのまま表示されるようにします。
位置を「中心」にして座標はxに85、yに347を入力します。
不透明度は255にします。



ここまで大丈夫でしょうか?

さて、最後にメッセージを表示し終えたら名前と名前欄を見えなくしたいと思います。
一番最後の行に、すでにピクチャ番号20のメッセージウィンドウの不透明度を変更するコマンドがあるので、それをピクチャ番号20~22の処理に変更してやりましょう。



これで完了です。



テストしてみよう


さて、選択肢不要のただ読むだけゲーならここまでの処理で作ることができるようになっています。
コモンイベント002に適当なシナリオを入力して、動作テストしてみましょう。

シナリオを作るにあたって登場人物を決めないといけませんね。
主人公は「ボク」、立ち絵の彼女は幼なじみということにしましょう。
彼女の名前は……えーと、かのじょ……かの……、はい、花乃(かの)ちゃんということにします。

まずは主人公のモノローグから始めようかな。

「ある日の昼下がり、
ボクは幼なじみの花乃に公園へ呼び出された。」


これをゲーム画面に表示させたいと思います。



まずはコモンイベントの設定です。
コモンイベント002に「適当なシナリオ」と名前をつけました。
起動条件は、自動実行で条件は「変数0」が「1と同じ」ときに設定しました。

シナリオは基本的にコモンイベント001[文章表示]を呼び出して進めていきます。



「コモンイベント」コマンドで、イベントの挿入でコモン1を選択します。
表示する文章のところで、チェックボックスにチェックを入れ、表示させたい文章を入力します。
立ち絵と名前はまだ表示させないので、他は変更しません。

さあ、レッツテストプレイ。



ちゃんと動作しましたね。
起動条件を自動実行にしているので、延々とループします。

もうちょっと続きを入力していきましょう。

「それにしてもあいつ、
自分から呼び出しておいて遅刻するなんて
とんでもない女だ。」

「約束の時間からもう30分も経ってるぞ……」

「と、ため息をついた時だった。」


ここまで、名前&立ち絵表示なしで入力していきます。

この次から、花乃の立ち絵を表示し、「ごめーん、待った?」と文章表示させます。



イベントの挿入で「コモン1:文章表示」を選択するのは同じです。
立ち絵の表示で「1笑う」を選択。
表示する文章に「ごめーん、待った?」といれます。
名前のところをチェックして「花乃」と入力します。

テストプレイしてみると……。



はい、ちゃんと表示されましたね。

0 件のコメント:

コメントを投稿