7.シェルについてより深く

7-1.表情

ゴーストキットは一枚の絵を表示してトークを喋らせるものですが、表情をつけたい人もいるでしょう。ここでは複数シェルについて解説します。

「かせいじんのおやこ」では、源三のシェルはsurface00.pngという名前でした。surfaceは、surface????.pngと????に番号を振ることによって何枚でも用意できます。但し伝統的に以下の番号は、表情がおおよそ決まっています。

surface0.png 素
surface1.png 照れ
surface2.png 驚き
surface3.png 不安
surface4.png 落ち込み
surface5.png 微笑み
surface6.png 目閉じ
surface7.png 怒り
surface8.png 冷笑

ここでは源三に、怒りのサーフェスsurface07.pngを用意してみましょう。

surface07.png surface07.pna

pnaも用意します。

これを

  sspを解凍したフォルダ/ghost/kaseijin/shell/master/

に保存します。

会話では、以下のように表情を変えます。


源三、魚捕ってきた。
:(7)父ちゃんのことを源三と呼ぶのはよしなさい!
(0)すいませんね、なにぶん反抗期なもので。

全角のかっこと数字で初めに怒り(7)の表情を指定して次に(0)素の表情に戻しています。

今までは(0)だけだったので省略していましたが、複数の表情を作った時には、このように表情の指定が会話の前に必要となります。士郎のサーフェスも当然(10)とすべきですが、ここでは省略しました。

 

7-2.当たり判定

ゴーストをつついたときに、単に喋るだけでなく、つついた場所によってトークをさせてみたいということがあるでしょう。当たり範囲の指定のしかた、反応のつけかたを解説します。

ここでは、源三の足をダブルクリックした時に、セリフをなにか喋るようにします。

まず、当たり場所を指定しておくsurfaces.txtを作りましょう。

こちらのサイト(GATA DURMIENTE)から伺かのページに行き、ころぺたをダウンロードします。ダウンロードページはこちらです。

ダウンロードしたkoropeta-3.zipを展開しましょう。

この、koropeta.jarをダブルクリックして起動します。これはjavaソフトです。左上のファイル→シェルを開くで、シェルの入っているフォルダ

  sspを解凍したフォルダ/ghost/kaseijin/shell/master/

を選択して開いて下さい。

左上の00番のサーフェスをクリックします。

ここで、「当たり判定追加」をクリックしてください。足に当たり判定をつけたいので、名前はashiとしましょう。すると、サーフェスの左上に四角がでるので、これをドラッグしたり、大きさをかえたりしながら、足の上において下さい。

これでsurface00の足の当たり判定ができました。surface07にも同様に当たり判定をつけたいのですが、surface00と位置は同じなので、当たり判定をコピーしましょう。「当たり判定」の上で右クリック、コピーを選んで、surface07をダブルクリックしたあと当たり判定で右クリック→ペーストを選んで下さい。

これで、surface07にも同じ位置に足の当たり判定ができました。これを保存します。

  sspを解凍したフォルダ/ghost/kaseijin/shell/master/

に新しくsurfaces.txtができています。中身は

charset,Shift_JIS

descript
{
version,0
}

surface00
{
collision0,85,171,156,267,ashi
}

surface07
{
collision0,85,171,156,267,ashi
}

となっています。ころぺたは終了してかまいません。

次に当たり判定に対するトークを書きましょう。里々では、dic????.txtと、先頭にdicが付いているテキストファイルを全て辞書と見なします。そこで新しくdic_atari.txtというファイルをエディターで作り、これを当たり判定の辞書ファイルとしましょう。(もちろんこれは好みの問題ですので、dic_talk.txtやdic_advanced.txtに付け加えてもかまいません)

作る場所は他の辞書ファイル同様

  sspを解凍したフォルダ/ghost/kaseijin/ghost/master/

中身は

*OnMouseDoubleClick
>(R4)つつかれ
()

*ashiつつかれ
:おや、アームをのばしてどうしたんですか?
わたしの足に興味あるんですか?
自慢の足ですよ。健康には気をつかってます。
あとピーをピーするときにも使いますね。
:父ちゃんピーピー恥ずかしいよ。

です。ここでOnMouseDoubleClickはダブルクリックしたときの反応、(R4)はもしダブルクリックの場所がashiだった場合ashiが入っている変数、です。>はジャンプ命令で、「ashiつつかれ」が存在する場合そこにジャンプする命令です。それ以外の場合はこの行は無視されます。次の行の()は通常トークを話す、という命令です。

「*ashiつつかれ」はashiがつつかれたときのトークとなります。

また、OnMouseDoubleClickは、はじめから

  sspを解凍したフォルダ/ghost/kaseijin/ghost/master/

のdic_base.txtにも書かれています。

*OnMouseDoubleClick

シェルがダブルクリックされたら、ジャンプするという意味ですが、ジャンプ先が無いので単にトークするだけです。

同じイベントに対する反応が二ヶ所にあるのはよくないのでこちらは消すか、コメントアウトしておきます

#*OnMouseDoubleClick
#>

行頭の全角記号でのシャープ#は、この行を無視するという意味です。
これを使って適宜註釈を入れていけばあとで見直すとき分かりやすいでしょう。

 

OnMouseDoubleClickやR4については、Disc-2ゴースト作成SHIORI EVENTに詳しいです。この ページのOnMouseDoubleClickイベントの項目を見るとReference4とありますが、里々ではこれをR4と書きます。そのほか、R0からR5まで返値があることが分かります。