Unityと吉里吉里でSLGとかRPGを作るブログ

昨日は会社の新年会で遅くなったので、何もできなかった。

前回、イベントの発生を制御するプログラムを作成したので、続いて実際にイベントを発生させて見たい。
ここでイベントと行っているのは、キャラクター色のあるSLGで良くあるキャラの会話シーンとか。


///イベントの仕組みを考える
前回作ったイベントの発生を制御するkag.process(※1)を使用して指定したスクリプトに飛ぶだけの処理に過ぎない。
イベントが「エリアの制圧」だろうが、「会話シーン」だろうが、「お金を得る」だろうが、飛んだ先で制御する事にする。図にすると下の様な感じ。
■イベントの仕組み概要図
イベント処理の仕組み
こうする事であらゆるイベントに対応出来る。
イベント処理で一番問題となるのは、「会話シーンの様なイベント」になる。
このイベントは、「画面を切り替える」→「KAGスクリプトによる会話」→「MAP画面に戻る」となる訳だけど、ここで問題となるのが、今表示されているTJSオブジェクト。
各処理間で、以下の処理が必要になる。

①画面を切り替える
 TJSオブジェクトを非表示に。

②KAGスクリプトによる会話
 特になし。

③MAP画面に戻る
 イベント発生時と同じ画面に戻る。

最も困難なのは③である。ただ表示を戻すだけでも結構大変そうだけど、イベントが終了する時に何かしらデータの書き換えとか(イベントが発生した後にキャラが増えたり金が減ったり)したら、一気に困難さは増すはず。

※1:KAGスクリプトで言う「jumpタグ」


///とりあえずやってみる
正直、吉里吉里の画面切り替えなどは、完全に独自仕様のせいもあって、良く分からない。
ちゃんと出来てるかを試す為にも色々実行しながら進めてみる。行き当たりばったりだがゲームの作成経験が全くない私には今一先が見通せない。

まずは、イベントを起こして見よう、イベントボタンを押下したらトランジションしてみる。
■イベント発生前
イベント発生前

■イベント発生後(トランジション)
イベント発生後
※この画像はこのサイトからお借りしています

まあ、当然、ウィンドウ画面なんかは出っ放しになる。
これは、MAPに表示しているオブジェクトを全部非表示にする機能をつければ良さそう。
■イベント発生(トランジション):非表示機能
イベント発生後(オブジェ非表示)
表示非表示は、表画面と裏画面を別々に出来る様に設定している。トランジションする場合は、裏画面を非表示にすればOK。
これで「①画面を切り替える」については問題なし。




今日は酒が残っていて、仕事が遅くなってしまった。次はイベントから復帰する所を作りたい。


スポンサーサイト
2009.01.23 / Top↑
Secret

TrackBackURL
→http://nekodamasi.blog79.fc2.com/tb.php/15-1ac352d2