ツクールいじらずにイベントスチルばかり描いている頃のJONYです。
ツクールMVには立ち絵表示に関するプラグインがいくつか公開されています。
しかしながら、私は今回プラグインを使わずに立ち絵を実装しました。
容量削減のためにこのプラグインを使いたかったからです。
トリアコンタン様の FacePicture 顔グラのピクチャ表示プラグイン
これはfaceフォルダの顔グラをpicture扱いで表示できるものです。
これにより、ベース立ち絵の上に顔グラを重ねる事で、
顔差分を表現する事が出来ます。
つまり、ベースとなる立ち絵1枚とface素材を用意すれば良いのです。
顔差分ごとに1枚1枚用意する必要がなくなります。
…実装方法を書こうとしましたが、乱雑に組んでいて説明できそうになかったので
断念しました。すまない。
考え方だけ示すので、自分で組んでみて下さい。その方が使いやすいと思います。
1.ベースの立ち絵を用意。
この時、顔のサイズは顔グラのサイズを意識するとよいです(144*144)。
2.face画像を用意します。立ち絵から切り取ると良いです。
この時、切り取った正方形の左上のx,y座標をメモしておきます。
3.ベース立ち絵を表示させるイベントを作ります。
汎用化するため、コモンイベントで作るのを推奨します。
4.立ち絵を表示したピクチャ番号の1つ上に
先ほどメモしたx,y座標分ずらして顔グラを表示させます。
立ち絵表示イベントに続けて書くのがベター
これで最低限の実装は可能です。
より汎用性を高めるために、いくつかのヒントを示します。
・立ち絵と顔グラの画像名はキャラ毎に番号をつけておく
変数番号で指定しやすい
例:立ち絵「base_01」、顔グラ1「face_01_01」
・顔グラ表示相対xy座標は全キャラ分のリストを作ると良い
配列を使った変数を使ってまとめると管理しやすい
立ち絵顔相対x=[null,キャラ1x,キャラ2x,…]
立ち絵顔相対y=[null,キャラ1y,キャラ2y,…]
最初にnull(虚無)を入れているのは、配列の最初は0番目なので
1番から番号管理する場合にずれるからです。
・立ち絵を表示する位置(左端、右中など)もリストを作ると良い
5か所用意する場合、ピクチャ番号は10個使用する
立ち絵原点x=[null,左中x,右中x,左端x,右端x,中央x]
立ち絵原点y=上位置
・立ち絵表示のトリガーとする変数を用意します。
表示位置,キャラ,顔ID
この変数は実際組むイベントで指定します。プラグインコマンドの代わりです。
例えば、イベントで
変数:立ち絵表示位置=左端
変数:立ち絵表示キャラ=1
変数:立ち絵表示顔ID=3
コモンイベント:立ち絵表示実行
と組むことで左端にキャラ1の顔ID3の立ち絵が表示されるように
コモンイベントを組めばいいんじゃないでしょうか。
・イベントコマンドでピクチャの移動を使うと
絶対座標でしか指定できないので、
スクリプトを使うと、変数も使えてやりやすいです。
$gameScreen.movePicture(番号,原点,x座標,y座標,幅の拡大率,高さの拡大率,不透明度,合成方法,移動時間)
・拡張で入れたい処理
・立ち絵表示/消滅時にフェードする
透明度変更で実装
・注目しているキャラ以外を暗くする
色調変更で対応
・顔差分だけ変更する場合、ベース立ち絵を変えない
・注目キャラを変更するだけのコモンイベント
・立ち絵を全て消去するコモンイベント
など
その他、工夫次第で立ち絵の動きを入れたりできると思います。
参考にしてみて下さい。
…ここまで面倒な事やるなら、立ち絵プラグイン入れた方が
早いんじゃないんですかねぇ
コメントをお書きください