スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

カテゴリ : スポンサー広告

KAGEX講座(5) - キャラクタ表示

前回 KAGEX講座(4) - 背景表示
今回はキャラクタを表示してみます。

今回は画像4枚使います。
siori_w_n_d_0.pngsiori_s_n_d_0.pngsiori_s_n_k_0.pngsiori_s_s_k_0.png
左から
siori_w_n_d_0.png
siori_s_n_d_0.png
siori_s_n_k_0.png
siori_s_s_k_0.png
としてfgimageにいれておきます。
※画像はキャラクターなんとか機で出力しています。

まずはenvinit.tjsを以下のものに書き換えます。
%[
    levels : [],
    
    yoffset : 240,
    
    characters : %[
        しおり : %[
            poses : %[
                通常 : %[
                    image : "siori_DRESS_n_FACE_0",

                    dresses : %[
                        夏制服 : "s",
                        冬制服 : "w",
                    ],
                    defaultDress : "s",
                    
                    faces : %[
                         : "k",
                         : "d",
                    ],
                    defaultFace : "k",                    
                ],
                直立 : %[
                    image : "siori_DRESS_s_FACE_0",

                    dresses : %[
                        夏制服 : "s",
                    ],
                    defaultDress : "s",
                    faces : %[
                         : "k",
                    ],
                    defaultFace : "k",
                ],
            ],
            defaultPose : "通常",
        ],
    ],
];

次にfirst.ksに以下のように書きます。
@char name=しおり show
キャラクタを表示しました。[l][r]

@char name=しおり face=
表情を切り替えました。[l][r]

@char name=しおり dress=冬制服
服装を切り替えました。[l][r]

@char name=しおり pose=直立 face= dress=夏制服
ポーズを切り替えました。[l][r]

@char name=しおり hide
キャラクタを隠しました。[l][r]
実行すると画像が順に表示されます。

以下解説。

KAGEXには「顔分離型立ち絵」と「顔合成型立ち絵」があるのですが今回は顔合成型立ち絵の方を使います。
顔画像を別に指定すれば分離型を使えますがその方法はまた他の回で。
⇒遥か第17回で解説してます。少なくとも今回の知識は前提です。

characters定義
キャラクタの情報はenvinitのcharactersに定義します。
今回は「しおり」として1キャラのみ定義されています。
各キャラは基本的にポーズごとに定義していきます。今回は「通常」と「直立」の2つが定義されています。
defaultPoseでデフォルトのポーズを設定することもできます。

各ポーズ定義のimageに画像ファイル名を指定します。
「通常」の方は"siori_DRESS_n_FACE_0"、「直立」の方は"siori_DRESS_s_FACE_0"としています。
"_n_"と"_s_"の部分でポーズを判別できるようにしました。
体の前で手を組んでいる方が通常(_n_)、突っ立ってる方が直立(_s_)です。
大文字で書かれた"DRESS"と"FACE"は前回のTIMEのようにそれぞれ服装と表情で入れ替わる部分です。
最後の"_0"は表示レベル対応のためにつけていますが今回は説明しません。
次回以降説明するので今回は気にしないでください。

服装と表情の定義は各ポーズごとにしていきます。
dresses(服装)とfaces(表情)がそれです。
どちらも「パラメータ名 : 置き換える文字列」の形で定義します。
例えば通常ポーズの方では服装が「夏制服」の時にDRESSの部分が"s"、「冬制服」のときには"w"に入れ替わります。
表情についても同様にFACEの部分が"k"もしくは"d"に入れ替わります。

ポーズごとにデフォルトの服装と表情も設定できます。(defaultDressとdefaultPose)
ここではパラメータ名(「夏制服」など)ではなく置き換える文字そのもの("s"など)を指定するので注意してください。

[char]タグ
キャラクタの表示には[char]タグを使用します。
name属性にキャラクタ名を指定します。
envinit.tjsを読み込んだ時点で既に「しおり」というキャラクタは生成されています。最初は非表示になっているので見えません。
※新しくキャラクタを生成するには[newchar]タグを使います。今回は説明しません。
キャラクタを表示するにはshow属性を指定します。
なので「@char name=しおり show」で表示することができます。
このときポーズ、服装、表情はデフォルトのままなので"siori_DRESS_n_FACE_0"のDRESSの部分が"s"、FACEの部分が"k"に入れ替わった「siori_s_n_k_0」が表示されます。

[char]タグのface属性、dress属性、pose属性でそれぞれ表情、服装、ポーズを指定することができます。

キャラクタを非表示にするためにはhide属性を指定します。

yoffset
envinit.tjsでcharactersのほかにyoffsetを定義しています。
これはキャラクタを表示するときにy方向にずらす幅(px単位)です。
KAGEXではレイヤはデフォルトで中央に配置されます。
⇒詳しい説明はKAGEX講座(12)
X方向はそれでいいのですがY方向は立ち絵画像に合わせてずらしてやる必要があります。
yoffsetを指定しない場合画像は↓の位置に配置されます。
kagex_yoffset.png
今回の画像ではY方向に240pxずらしてウィンドウと底辺をそろえれば丁度よくなります。

省略記法
name属性、pose属性、face属性、dress属性では省略記法が使えます。
@しおり show
;@char name=しおり show と同じ
キャラクタを表示しました。[l][r]

@しおり 
;@char name=しおり face=怒 と同じ
表情を切り替えました。[l][r]

@しおり 冬制服
;@char name=しおり dress=冬制服 と同じ
服装を切り替えました。[l][r]

@しおり 直立  夏制服
;@char name=しおり pose=直立 face=喜 dress=夏制服 と同じ
ポーズを切り替えました。[l][r]

@しおり hide
;@char name=しおり hide と同じ
キャラクタを隠しました。[l][r]

省略記法により劇的にタイプ量を減らすことができます。

envinitのlevelsは表示レベルに関係するものですが今回は説明しません。
ただし書いておかないとエラーになるので注意してください。
スポンサーサイト

タグ : 吉里吉里 KAGEX 講座

カテゴリ : KAGEX

コメントの投稿

非公開コメント

最新記事
カテゴリ

openclose

記事一覧
Twitter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。