トップ>吉里吉里覚書

今回の開発で自分がどこをいじったのか覚えておくための覚え書きです。また指示以外にも勝手にやっているので開発リーダー(呼び名決めて欲しいな)に知らせて判断を仰ぐためでもあります。こんなのもできるよと紹介するので、やめろとかやれとか。

まだ勉強を始めたばかりなので、恥ずかしながら初歩的なことばかり載っています。ここを見た見知らぬ誰かがどうかネットの素人情報など信じてしまいませんように。

目次

画面を800×600にする

■画面サイズ

Congig.tjs 57、58行目

;scWidth = 800;
;scHeight = 600;

ゲームの画面サイズを決定します。scWidthが横幅、scHeightが縦幅。ただしこの値だけ変更しても、画像の表示座標などが640×480の設定と変わらないため、表示がおかしくなります。修正するためには前景レイヤやメッセージレイヤの表示位置も変更する必要があります。

■立ち絵の位置

Congig.tjs 287〜291行目

;scPositionX.left = 200;
;scPositionX.left_center = 300;
;scPositionX.center = 400;
;scPositionX.right_center = 500;
;scPositionX.right = 600;

立ち絵の位置に名前をつけます。通常座標指定するところを「left」「right_center」などとあらかじめ設定することで数値の省略だけでなく立ち位置を統一できるようになります。

■メッセージレイヤ内のマージン

Congig.tjs 515〜518行目

;marginL = 30; // 左余白
;marginT = 20; // 上余白
;marginR = 30; // 右余白
;marginB = 20; // 下余白

メッセージレイヤ内の、実際に文字が表示される部分を指定します。

■メッセージレイヤの位置

Congig.tjs 524〜527行目

;ml = 30;  // 左端位置
;mt = 420;  // 上端位置
;mw = 800-60;   // 幅
;mh = 600-440;   // 高さ

メッセージレイヤの位置と大きさです。今回はノベルゲームのように画面全体に文字を表示するのではなく、一般的な美少女ゲームと同じように立ち絵の腰下あたりに横長で表示するように設定しています。



熊野にんち-吉里吉里講座-環境設定を参考にさせていただきました。

キャラの名前表示用レイヤを用意する

■メッセージレイヤの用意

Config.tjs 307行目

;numMessageLayers = 4;

用意するメッセージレイヤの数を指定します。通常の文章用と、名前表示用で2つ。予備でそのプラス2つくらい用意しています。選択肢とかでも使うかも?

■メッセージレイヤ1の設定と表示

01.ks 最初の方

[position layer=message1 left=30 top=370 width=150 height=40]
[position layer=message1 marginl=5 margint=0 marginr=5 marginb=5]
[position layer=message1 visible=true]

Config.tjsで設定したの(メッセージレイヤ0)とは別のメッセージレイヤを、シナリオの中で設定して<visible=true>によって表示させます。

この場合名前のレイヤは文字を表示する前に表示させておきたいので、01.ksは起動メニューから「初めから」を選んで飛ぶ先の最初のシナリオファイルです。<visible=false>にすればもちろん消えます。

メニューに戻るときや、続きからロードするときも同じような作業をします。

[current layer=message0]
うだるような暑さ。[l][r]
こめかみに一筋の汗が流れ落ちる。[l][r]
拭っても拭ってもそれはやむことを知らず。[l][r]
かしましい蝉の鳴き声は夏の暑さを増幅するかのようだ。[p]
[cm]

[current layer=message1]ハル
[current layer=message0]ほっ、ほっ、ほっ……[p][cm]

こんな感じで二つのメッセージレイヤを切り替えつつ使います。

履歴関連

■履歴をスクロールバー形式で表示させる

first.ks 最初の方

[call storage="others/ExHistoryLayer.ks"]
[history type = scroll]

rireki1s.jpgrireki2s.jpg

標準が右で、ExHistoryLayer.ksを読み込んでhistoryタグのtype属性を変えると画像の左側になります。

問題は、見ればわかるように名前と本文が同列で表示されてしまっていること。スクロールバーのせいではなく標準でこうです。HistoryLayer.tjsとかをいじればどうにかなるはずなんですが……!

他の解決案としてはメッセージレイヤを完全に透明にしてしまい、立ち絵より前の前景レイヤにメッセージ枠などを表示し、名前のあとに必ず改行を入れるようにすれば見た目はそのまま履歴は変化します。ただソースは汚くなる。

[current layer=message1]ハル
[current layer=message0]眠そうだね[p][cm]
[current layer=message1]こー
[current layer=message0]昨日夜遅くまでテレビ観ちゃってたからなあ……[p][cm]
[current layer=message1]ハル
[current layer=message0]駄目だよ、ちゃんと夜は眠らないと。[wait time="200"]観たいテレビは録画すること[p][cm]

名前欄を20px長くしてから、上のを下のようにする。まあキャラ名の後に[r]をつけていきます。20px長くするのはもともと一行しか入らないサイズで名前欄を用意してるのに[r]で改行するからその分。入れないと自動でクリック待ちが入ります。

[current layer=message1]ハル[r]
[current layer=message0]眠そうだね[p][cm]
[current layer=message1]こー[r]
[current layer=message0]昨日夜遅くまでテレビ観ちゃってたからなあ……[p][cm]
[current layer=message1]ハル[r]
[current layer=message0]駄目だよ、ちゃんと夜は眠らないと。[wait time="200"]観たいテレビは録画すること[p][cm]

rireki3s.jpg

すると擬似的にこんなんなります。これでやるにしても微調整が必要。

■履歴の右マージンを少し伸ばす

Config.tjs 履歴の設定の辺り

;marginR = 30;

スクロールバーの分右マージンを長くしないとスクロールバーと文字がかぶることがあります。しかしこれももともとの仕様だけど右揃え汚いなあ。



よかひげさんにExHistoryLayer.ksが置いてあります。

エフェクト

■雪を降らせる

雪を降らせたいシーン

[call storage="snow.ks"]
[backlay]
[snowinit forevisible=false backvisible=true]
[trans method=crossfade time=2000]
[wt]

裏画面で雪を降らせ表にクロスフェードさせています。使うなら呼び出しは最初の方でやるの推奨です。ちなみに上記履歴スクロールバーのスクショに雪エフェクトが写っています。量などは調節可能。

■雪を止める

雪を止めたいシーン

[backlay]
[snowopt backvisible=false]
[trans method=crossfade time=2000]
[wt]
[snowuninit]

裏画面で雪を止ませ表にクロスフェードさせています。

セーブ関連

■自動通過記録で「前に戻る」を使えるようにする

Config.tjs 241行目

;recordHistoryOfStore = 2;

自動通過記録の設定です。2を指定すると選択肢ごとに記録するので「あっ!これフラグ折ったかも」と気づいたときに時間を巻き戻すことができます(?まだ実験してません)。便利です。

初期値は0で自動通過記録を行わない。1だとラベル通過ごとです。recordタグで任意の位置で通過記録させることもできます。

Copyright (C) 柘榴荘 Some Rights Reserved