【コピペで作る】伺か・ゴーストの差分画像を福笑い形式で変更する。【yaya】

ukagaka

前回

【コピペで作る】表情の変化を実装する。【伺か・YAYA】

今回

前回は簡単な方法で表情の変化を実装しました。
今回はのっぺらぼうに目の差分・眉の差分・口の差分といったトッピング形式で表情を表示できるよう変更しましょう。
(あの形式、実際はなんて呼ばれてるんでしょうね)
差分が少なければ今までのままで大丈夫です。

メリット

  • ファイルの管理がよりし易くなる。
    PSDファイルと同じようなディレクトリ管理をすればイメージが楽になるでしょう。
  • 複数の画像を使いまわせるように。

必要なもの

  • ベースとなる画像 裸、素体など
  • 同じキャンバスサイズの重ねたい画像 服や体のパーツ 適量

前回はキャラ画像に「月曜」などを書いて統合した画像を使いましたが、
今回は別々に画像を用意して伺か上で重ねます。

画力がない私はこのようなパーツを用意したので、消しゴム画像に着せて(?)見ようと思います。
WriteCode.png

準備する

surface0.pngをベース画像として使いまわします。
コピーしてBodyフォルダに移し、Body.pngに名前を変更しておきます。
「コードをかけ」をSurfaceTextフォルダに入れました。

フォルダ名・ファイル名どちらも決まりはないので管理しやすいようにしてください。
また、前回作ったsurface0~7および501は使用しないので今回は記述しません。
削除してしまっても大丈夫です。
その場合、dic_MouseStroke.ukaのセリフなどで使用していた箇所は修正が必要です。

追加後のファイル構成

InstallGhostDirectoryName 
└─shell 
    └─master 
       │    descript.txt 
       │    menu_background.png 
       │    menu_foreground.png 
       │    menu_sidebar.png 
       │    surface0.png 
       │    surfaces.txt 
       │ 
       ├─Body 
       │   └ Body.png 
       └ SurfaceText 
           └ WriteCode.png 

surfaces.txtに追記する。

新しく8番のsurfaceを作成してみましょう。
8番は素体+「コードをかけ」を組み合わせたものにします

書き方の参考はこちらのリンクをどうぞ
UKADOC Project Shell設定 – surfaces.txt

//コードをかけsurface 
surface8 { 
    //layer位置,合成方法,ファイル名,X座標,Y座標 
    element0,base,Body/Body.png,0,0 
    element1,overlay,SurfaceText/WriteCode.png,0,0 
} 

撫で反応で8番が呼ばれるようにしてみてください。
素体の上にWriteCode.pngが乗るように表示されていれば問題ありません。
ここまでで表情の変更はおしまいです。

surface10.pngについて

10番のsurfaceはデフォルトで相方を表示するものとされています。
試しにsurface0.pngをコピーしてsurface10.pngにしてみましょう。
同時に二人表示されたと思います。

設定で10番以外に変更することができますが、自分でいじった限りだと時々10番が呼ばれてしまいました。
解決策としては以下の二点です。

surface10.pngを使わないor空の画像ファイルにする。

大体のソロゴーストは10番に何も書かれていない画像を入れて表示しないようにしています

起動時に別の番号を呼んでおく

今回のゴーストの作りだと、初回起動時にOnFirstBootが。
それ移行はHelloWorldが呼ばれるようになっていますので、
下記のように変更します。
空のsurface99999.pngを用意して初動で変更しておけばsurface10を別の用途で運用できます。
また、surface99999pngが無い場合は10番が呼ばれました。

OnFirstBoot { 
    "\1\s[99999]\0初めまして。" 
} 
HelloWorld { 
    "\1\s[99999]\0こんにちは" 
} 

欠番が一番楽だとは思いますが、変数でsurface番号を処理するようなときは後者を使ってみるとよいかもしれません

次回予定

ダブルクリックによるメニューの実装を予定しています。
【コピペで作る】伺か ダブルクリックでメニューを開けるようにする【YAYA】