スポンサーサイト

  • --/--/--(--) --:--:--

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

吉里吉里2

  • 2008/02/02(土) 02:17:32

架空戦記のための吉里吉里/KAG紙芝居講座
第二回


さて、紙芝居としての体裁を整えるべくしこしこと作りましょう。
とりあえず素材がないとどうしようもないので二つ三つ用意しました。

http://www.geocities.jp/yukipohuurai/sozai1.zip

三国枠はググって出てきたキャプチャから切り出してます。
ダウンロードしてimageフォルダにつっこんでください。
ついでに顔グラもいくつか入ってます。
架空戦記スレに感謝。

このまま進めても背景が寂しいので、早速画像表示から。
適当な背景画像をbgimageフォルダに入れておきます。
基本的にフォルダ分けには意味はありませんが、まあわかりやすいように分けてます。

[image storage="****.png" layer=base]

背景レイヤー(layer=base)に****.pngという画像を表示させるものです。
画像のサイズは画面サイズに合わせておきましょう。

次に台詞枠を用意します。
ここではまず拙作奥州風来記の枠(mlayer.jpg、nlayrer.jpg)を使用します。
これも予めimageフォルダに入れておきます。

01.ksを開き、以下を入力します。

[laycount layers=5 messages=6]

[image storage="背景.png" layer=base]

[position layer=message0 frame=mlayer.jpg]
[position layer=message0 left=0 top=326]
[position layer=message0 marginl=15 margint=20 marginr=150 marginb=8]
[position layer=message0 visible=true]
[position layer=message1 frame=nlayrer.jpg]
[position layer=message1 left=5 top=304 width=142 height=33]
[position layer=message1 marginl=5 margint=-2 marginr=5 marginb=0]
[position layer=message1 visible=true]

[layopt layer=0 index=1500000]
[image layer=0 storage=雪歩02.png visible=true left=240 top=100]
[image layer=1 storage=真02.png visible=true left=-50 top=0]

[current layer=message0]
[deffont color=0x000000 shadow=false size=22 face="MS 明朝" bold=false]
[resetfont]
[current layer=message1]
[deffont color=0x000000 shadow=false size=22 face="MS 明朝" bold=false]
[resetfont]
[cm]


[current layer=message1]
[style align=center]
雪歩
[current layer=message0]
奥州風だね[l]



順に説明していきましょう。
laycountというのは、予め使用するレイヤを確保しておくタグです。
これ以上のレイヤを使用するとエラーになります。
layersで画像用のレイヤ、messagesでメッセージ用のレイヤ。
多くすればメモリを食いますが、配布前提に作成していませんので多めに取ってもOK。
positionはメッセージレイヤの属性を設定します。
ここで枠を作成するわけです。
frameで使用する枠を指定。
left、topで表示位置。
visibleは可視かどうか。trueが表示、falseで非表示。
長くなるので分けていますが、一行に記述も可能です。
基本的に名前欄と台詞欄は分けます。
面倒のような気もしますが、まあ私のやり方ですので。
message0が台詞欄。message1が名前欄。
位置は実行して確認しながら微調整するといいでしょう。

marginl、margint、marginr、marginbは、上下左右のマージンです。
marginlは左、margintは上、marginrは右、marginbは下。
マージン=余白とでも考えていてください。
枠を指定しても、余白がないと文章と枠が重なってしまいます。
顔グラを入れたりする場合、そこにもかぶってしまいますので、表示領域を設定します。
奥州の場合、雪歩が前面に来ますので、その部分を余白として大きく取ります。

layoptはレイヤに対する属性の変更です。
[layopt layer=0 index=1500000]
レイヤー0、この場合「雪歩02.png」を表示するレイヤのindexを1500000に変更しています。
これで何が変わるかというと、レイヤの表示順が変わります。
レイヤ付きの画像編集ソフト等を使用した方はなんとなく分かるかと思います。
標準ではレイヤ0が1000、レイヤ1が2000(以降+1000)、
メッセージレイヤ0が1000000、メッセージレイヤ1が1001000(以降+1000)
とindexが振られています。
大きい数字ほど前に来るわけです。
奥州の雪歩はメッセージレイヤよりも前に表示されています。
ですのでメッセージレイヤよりも大きいindexを与える必要があります。

imageは画像を表示するタグ。
レイヤ0に雪歩02.pngを表示、位置はleft240、top100。
レイヤ1に真02.pngを表示、位置はleft-50、top0。
レイヤ一枚に付き画像一枚です。

このままだと文字の色も表示位置も装飾も標準のままです。
deffontでデフォルトのフォントを指定してやります。

colorは文字色。
shadowは影の非表示/非表示。
sizeは文字サイズの変更。
faceはフォント名。
boldは太字/細字。
この辺は枠に合うようにいろいろ試してみてください。

その前に[current layer=message0]とありますね。
これは「メッセージレイヤ0を操作対象とします」というタグです。
そのあとに「文章を表示します」とでも記入すると、メッセージレイヤ0に表示されます。
deffontにしても、操作対象となっているメッセージレイヤだけを変更しますので、一度レイヤ0を設定したらresetfontで変更を確定させます。
そしてまた[current layer=message1]として同じ事を繰り返します。
これで名前欄と台詞欄が同じ書式になりました。

そして次からが本番。
名前と台詞の表示です。
currentで名前欄(message1)へ変更。
styleのalign=centerで中央寄せ。名前を記入。
currentで台詞欄(message0)へ変更。台詞を記入。

それと補足。
テキストを書く直前くらいに、念のため[cm]させましょう。
一度リセットして変な部分を除去出来る場合もあります。

[cm]は全てのメッセージレイヤをクリアします。
台詞だけ消すつもりで使うと名前まで消えちゃいます。
ので、操作対象になっているメッセージレイヤだけを消すタグ、[er]を使います。
[cm]を使うのは喋っている人物が変わるときとか。

currentで変更して、中央寄せにして、名前書いて、current戻して、と。
……名前書くたびいちいちこんな事してられない、と途中で気付くと思います。

こういう繰り返しをマクロにまとめて、作業を効率化させましょう。
first.ksに以下を記入します。

[macro name=nl]
[current layer=message1]
[style align=center]
[ch text=%n]
[current layer=message0]
[endmacro]



挿入位置はjumpの前です。
macro~endmacroで1セット。
このマクロは

[nl n="雪歩"]
穴掘って以下略



という風に使います。
nlはネームレイヤの略とでも思ってください。
[ch text=%n]というのはテキストの表示です。
わざわざタグで書いているのは、引数を利用するためです。
%付きの引数は、基本的にタグの中でしか使えません。
そのまま書いても、ストレートに「%n」としか表示されないわけです。
%nは、n="雪歩"のnの部分のことです。
仮にname="雪歩"であれば、%nameと記述します。
好きに書けますので、例えば色も変えたいとなれば、chの前に
[font color=%col]
と追加して
[nl n="雪歩" col=色コード]
と書きます。

というわけで以下の通り変更しましょう。

[current layer=message1]
[style align=center]
雪歩
[current layer=message0]



[nl n="雪歩"]



これで4行掛かっていたものが1行に縮みましたね。
マクロは使用したい位置より前に記述して、予め読ませておく必要があります。
ですので今回はfirst.ksにしました。
このマクロの使い方は覚えておきましょう。



さて、ひとまず奥州風の紙芝居はこれで出来るようになりました。
もちろんこれだけで終わるくらいシンプルではありませんが、一応ね。
画像にフェードかけて表示するとか、いろいろ細かいところはあります。
が、今回は大雑把に説明していきます。
奥州風は需要無いでしょうし、次もありますし。

次回は別の架空戦記の表示形式を取り上げて、それを再現してみましょう。

※おかしなところがありましたらご指摘ください。
スポンサーサイト

この記事に対するトラックバック

この記事のトラックバックURL

この記事にトラックバックする(FC2ブログユーザー)

この記事に対するコメント

この記事にコメントする

管理者にだけ表示を許可する

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