| +++ メッセージレイヤを使いこなそう +++ |
| ▼ 内容の一括ダウンロード (準備中) | 2004/12/08 |
| ※ KAG3.22 Rev.5 をベースとして解説しています | |
これが使えなきゃ始まらない、基本的な文字を表示するメッセージレイヤについて。 ■ メッセージレイヤの扱い方 ひとまず覚えておいてほしいメッセージレイヤの基礎知識を三点。 ◇ カレントレイヤという概念がある カレントレイヤとは、現在、文字を描画する対象になっているメッセージレイヤ のことです。 メッセージレイヤを複数枚使用したり、トランジションを使って文字を表示したい場合などに重要になります。 レイヤには 0 から順番に番号がついていて、吉里吉里を起動した直後は、表画面のメッセージレイヤ 0 が カレントレイヤになっています。 ※メッセージレイヤに限らず、背景レイヤ、前景レイヤなども含めて、表画面用のレイヤと裏画面用のレイヤが 存在します。詳しくは 「 チュートリアル ― トランジションを使おう 」 を参照。 ◇ 基本設定は Config.tjs で指定する メッセージレイヤのサイズや表示位置、フレーム画像もしくは透明度、描画する文字の装飾など、メッセージ レイヤと、その上に表示する文字に対しての設定は、Config.tjs の中で指定します。 この Config.tjs で指定された内容は、 ・吉里吉里を起動したときに使用可能な全てのメッセージレイヤ ・シナリオファイル内で数を増やしたときに新しく追加されるメッセージレイヤ の設定となります。 ◇ 個別に設定を変更可能 最初から最後まで、ずっと同じ設定のメッセージレイヤしか使わないのであれば Config.tjs で指定するだけで 済みますが、 ・途中で違う設定に変更したい ・複数のメッセージレイヤの設定を違うものにしたい などの場合は、シナリオファイル内で個別に設定することができます。 ただし、メッセージレイヤ 0 の設定を変更した場合、自動では元の設定に戻ることがないので、元の設定に 戻したいときは、設定を変更したときと同じ要領で元の設定を指定しなおす必要があります。 ※メッセージレイヤ 0 以外のレイヤは、レイヤ数の増減により基本設定に戻すことが可能です。 以上を踏まえて、本題。 【 全画面表示タイプ のメッセージレイヤを メッセージ枠表示タイプ に変更するには? 】 全画面表示タイプ を KAG の標準設定のものとすると、以下のような設定になっているはずです。 ひとまずここでは外見と余白についてのみ説明します。 設定時の注意書きについては省いてあるので、実際の Config.tjs を確認しながら読んでください。 // ◆ メッセージ枠用の画像 ;frameGraphic = ""; // ◆ メッセージレイヤの色と不透明度 ;frameColor = 0x000000; ;frameOpacity = 128; // ◆ 左右上下マージン ;marginL = 8; ;marginT = 8; ;marginR = 8; ;marginB = 8; // ◆ 初期位置 ;ml = 16; ;mt = 16; ;mw = 640-32; ;mh = 480-32; これをわかりやすく文章にすると、 ・メッセージ枠用の画像は 表示しない ・メッセージレイヤの色は 黒 、不透明度は 128 (半透明の状態) ・左の余白は 8 、上の余白は 8 、右の余白は 8 、下の余白は 8 ・左から 16 、上から 16 の位置にメッセージレイヤを表示する ・メッセージレイヤの横幅は 608 、縦幅は 448 ということになります。 では、この設定をシナリオファイル内で メッセージ枠表示タイプ に変更するためにはどうしたらいいかというと、 Config.tjs にもヒントが書いてありますが、これらの設定は position タグで変更することができます。 詳しくはタグリファレンスの 「 position ( メッセージレイヤの属性 ) 」 に説明が書いてあります。 Config.tjs のヒントを手がかりにして、必要と思われる属性を確認してみましょう。 ここでヒントとして書かれているのは、 frame , color , opacity , marginl , maringt , marginr , marginb , left , top , width , height 以上 11 の属性です。 たとえば、 ・メッセージ枠用の画像として mesw.png を表示する ・メッセージレイヤの色と不透明度は無効になるので設定の変更はしない ・左の余白は 20 、上の余白は 5 、右の余白は 15 、下の余白は 10 ・左から 20 、上から 300 の位置にメッセージレイヤを表示する ・メッセージレイヤの横幅は 600 、縦幅は 160 という設定にしたいとすると、 @position frame="mesw.png" marginl=20 maringt=5 marginr=15 marginb=10 left=20 top=300 width=600 height=160 こんな感じの指定になります。 ※見やすいように改行させてありますが、実際に書くときは改行させずに一行で書きます。 メッセージ枠画像の指定については、image タグと同じように、拡張子は省略可能です。 これで現在のカレントレイヤの設定が、指定した内容に変更されます。 レイヤを複数枚使っている場合や、カレントレイヤとは別のレイヤ、たとえばカレントレイヤが表画面のときに 裏画面のメッセージレイヤの設定を変更したい場合などは、これに layer 属性と page 属性を追加します。 特定のメッセージレイヤを指定するには message に続けてレイヤ番号を書いてください。 もし、裏画面のメッセージレイヤ 0 の設定を変更したいのであれば、 @position frame="mesw.png" marginl=20 maringt=5 marginr=15 marginb=10 left=20 top=300 width=600 height=160 layer=message0 page=back となるわけです。 ひとつ注意が必要なのは、メッセージレイヤの設定を変更したあとにトランジションが入る場合 です。 たとえば、表画面のメッセージレイヤ 0 の設定だけを変更したとします。 そのあと backlay タグなしでトランジション をすると、変更したはずのメッセージレイヤ 0 は、変更前の設定に 戻ってしまいます。 これは基礎知識の説明で書いた通り、表画面用のレイヤ と 裏画面用のレイヤ が、それぞれ存在している ためで、トランジションを行なうと、表画面用のレイヤは裏画面用のレイヤと同じ状態になります。 せっかくメッセージレイヤを設定しても、表画面だけで裏画面の設定を変更していなければ、トランジションに よって、表画面の設定は裏画面の設定と同じものになってしまう ということです。 表画面のメッセージレイヤの設定を変更したあとにトランジションが入るような場合は、backlay タグを使う などして、裏画面の設定も変更しておくのを忘れないようにしましょう。 【 変更したメッセージレイヤの設定を元に戻すには? 】 これも基礎知識のところで少し書きましたが、メッセージレイヤ 0 の設定を変更した場合は、変更したときと 同じように position タグで元の設定に戻してやらなければなりません。 基本設定として指定してあったのは、 ・メッセージ枠用の画像は 表示しない ・メッセージレイヤの色は 黒 、不透明度は 128 (半透明の状態) ・左の余白は 8 、上の余白は 8 、右の余白は 8 、下の余白は 8 ・左から 16 、上から 16 の位置にメッセージレイヤを表示する ・メッセージレイヤの横幅は 608 、縦幅は 448 でしたよね? 今度はこの設定を position タグに指定してやれば良いわけです。 メッセージ枠用の画像を表示しない設定にするには、frame 属性の指定を "" だけにします。 色や不透明度については変更していないので、ここでは再指定しなくても構いませんが、色や不透明度の 設定を変更していた場合は、これらの指定も忘れずに。 不透明度の指定数値は 0 〜 255 の範囲 で、0 が完全に透明、255 が完全に不透明です。 上記の基本設定を、表画面のメッセージレイヤ 0 に指定してみると、 @position frame="" color="0x000000" opacity=128 marginl=8 maringt=8 marginr=8 marginb=8 left=16 top=16 width=608 height=448 layer=message0 page=fore こんな感じになります。 ※もちろん、元に戻す場合もトランジション絡みの不具合には注意してくださいね。 また、メッセージレイヤ 0 以外の設定を変更し、元に戻したい場合は、ちょっと変則的ですが、 @laycount messages=1 @laycount messages=2 などのように、メッセージレイヤ数を一度減らしてから再び増やせば、基本設定でレイヤが追加されるため、 簡単に元の設定に戻せたりします。 設定を戻したいメッセージレイヤが複数ある場合は、この手を使うと楽かもしれません。 ... その他の詳しい解説はまた改めて(^^; | |
質問やご意見は当サイトの掲示板かメールにてお受け致します。 混乱を避けるため、内容に関して らんか 以外へ質問することはご容赦ください(^^; また、これらの解説は全てらんかの知識によるもので、間違いがないとは限りません。 ツッコミどころがありましたら、ぜひご一報くださいませ m(_ _)m |
|