ごいしはまぐり

ノベルゲーム制作サークル「ごいしはまぐり」紹介の他、映画紹介やティラノスクリプト等、メンバーの記事を寄せ集めています。

ティラノスクリプト

ティラノスクリプト備忘録49 動きのあるふきだしマクロ

投稿日:2023年7月23日 更新日:



今回の備忘録は動きのあるふきだしを表示して会話をする方法についての記録です。
まずは動画と実際に使用しているコードをご覧ください。
動画は「学園ライト!」より。



実際の動作とコード

会話ではふきだし、地の文はメッセージ枠内で表示


本編始まる前の読み込み部分

;メッセージウィンドウの設定
[position layer="message0" left=100 top=485 width=1080 height=210 page=fore visible=true]
[position layer="message1" frame="f_right.png" left=470 top=150 width=400 height=220 page=fore visible=true]
[position layer="message2" frame="f_left.png" left=420 top=150 width=400 height=220 page=fore visible=true]
[position layer="message3" frame="f_left.png" left=750 top=150 width=400 height=220 page=fore visible=true]

;文字が表示される領域を調整
[position layer=message0 page=fore margint="45" marginl="50" marginr="70" marginb="60"]
[position layer=message1 page=fore margint="20" marginl="50" marginr="70" marginb="60"]
[position layer=message2 page=fore margint="20" marginl="70" marginr="50" marginb="60"]
[position layer=message3 page=fore margint="20" marginl="70" marginr="50" marginb="60"]

;メッセージウィンドウの表示
[layopt layer=message0 visible=true]
[layopt layer=message1 visible=false]
[layopt layer=message2 visible=false]
[layopt layer=message3 visible=false]

;ふきだし用キーフレーム
[keyframe name="fukidashi_start"]
[frame p=0% scale=0]
[frame p=90% scale=1.2]
[frame p=100% scale=1]
[endkeyframe]

[keyframe name="fukidashi_end"]
[frame p=0% scale=1]
[frame p=10% scale=1.2]
[frame p=100% scale=0]
[endkeyframe]


ふきだしマクロ部分

;--------------------------------------------------------------
;ふきだしマクロ(ふきだし用キーフレームを読み込んでおくこと)
[macro name=fukidashi]

	;次にふきだしが来るか判定
	;ふきだしを文字を表示した後 なにもしない 開くのみ 閉じるのみ 開く閉じる 4パターン fuki=0 1 2 3
	;ふきだし表示の次が メッセージウィンドウ 会話  2パターン next=0 1

	[if exp="mp.fuki==1||mp.fuki==3"]
		[layopt layer=message0 visible=false]
		[wait time=300]

		[current layer=%layer]
		[layopt layer=%layer visible=true]
		[kanim layer=%layer keyframe="fukidashi_start" time=300]
		[wait time=300]
	[endif]
	
	;セリフ表示
	[text val=%text]
	[p]
	
	[if exp="mp.fuki==2||mp.fuki==3"]
		[kanim layer=%layer keyframe="fukidashi_end" time=300]
		[layopt layer=%layer visible=false]
		[wait time=200]
	[endif]

	[if exp="mp.next==0"]
		[current layer=message0]
		[layopt layer=message0 visible=true]
	[endif]
		
[endmacro]
;--------------------------------------------------------------


実装方法(動画部分の全コード)

[playbgm storage=nichijou.ogg]

秋の気配を感じる心地良い風が[r]
教室を通り抜けた。[p]
優しい日差しが教室を照らしている。[p]

[chara_show name="yokokawa" time="1000"]

[fukidashi text="田中は今日も<br>来ていないみたいだな" layer=message3 fuki=3 next=0]


#
担任の横川は出席確認をしていた。[p]

[chara_mod name="yokokawa" face="ikari"]


普段はいかにも優しいといった顔立ちをしている横川は、[r]
怪訝そうな表情に変わった。[p]

横川は出席簿に目を落とした。[p]

田中の欄には欠席を表す[r]
『欠』の字が並んでいた。[p]

[chara_hide name="yokokawa"]

青葉の隣に座る卯月汐里(うつきしおり)は[r]
横川に気づかれないようにこっそりと青葉に話かけた。[p]

[chara_show name="utsuki" time="1000" left=800] 
[fukidashi text="田中くん<br>元気だったのに" layer=message1 fuki=1 next=1]
[fukidashi text="いきなり来なくなっちゃったね" layer=message1  fuki=0 next=1]
[fukidashi text="どうしちゃったんだろ" layer=message1 fuki=2 next=0]


[chara_show name="yamamine" time="1000" left=200] 
#
山峰青葉(やまみねあおは)は外を眺めていた。[p]
汐里の方向に振り返り答えた。[p]

[chara_mod name="yamamine" face="akire" reflect="true"] 
[fukidashi text="さぁ" layer=message2 fuki=1 next=1]
[fukidashi text="学校に通う意味を<br>見出せなくなったんじゃないかしら" layer=message2 fuki=2 next=1]


[chara_mod name="yamamine" face="default"] 

#
[fukidashi text="将来、美術大学に進学して絵描きになりたいって" layer=message1 fuki=1 next=1]
[fukidashi text="頑張っていたのに" layer=message1 fuki=0 next=1]
[fukidashi text="急に来なくなる人、最近多くない?" layer=message1 fuki=0 next=1]


[chara_mod name="utsuki" face="kanashimi"]
[fukidashi text="隣のクラスでも何人かいるみたいだし" layer=message1 fuki=0 next=1]
[fukidashi text="うちのクラスでも三人目" layer=message1 fuki=0 next=1]
[fukidashi text="まだまだ増えるのかな。来なくなる人" layer=message1 fuki=2 next=1]


[chara_mod name="yamamine" face="akire" reflect="true"] 
[chara_mod name="utsuki" face="default"]

[fukidashi text="数人くらい、欠席者が出るときだってあるわ" layer=message2 fuki=1 next=1]
[fukidashi text="気にしないことね" layer=message2 fuki=2 next=1]

[chara_mod name="utsuki" face="kanashimi"]
[fukidashi text="そうかなぁ" layer=message1 fuki=3 next=0]

#
汐里は眉を八の字にして天井を見た。[p]


コードの説明

本編始まる前の読み込み部分でふきだし画像と”ふきだし用キーフレーム”でふきだし画像の動きを記述しています。

message1~3はふきだしが表示される場所を決め打ちで入力しています。
ふきだしを表示する場所によって使い分けます。

ふきだしマクロ部分では
ふきだしを表示したり、
表示したときは通常の下部メッセージウィンドウを非表示にしたり、
message1~3の区別を付けたり、
ふきだし非表示にするときはメッセージウィンドウを表示したり、
ふきだしに表示する文字を設定したりします。

実装は、
[fukidashi text="そうかなぁ" layer=message1 fuki=3 next=0]
というように、textで表示文字、layerで表示場所、
fukiで文字を表示した後
0 なにもしない
1 開くのみ
2 閉じるのみ
3 開く閉じる
の上記4パターンを fuki=0 というように記述してふきだしの動きを決めます。





おわりに

以上となります。
改善の余地は大いにありコード出すのも恥ずかしい完成度なのですが、自身で忘れないように今回書き留めておきました。
今後改善しましたら記事を更新していきたいと思います。



それではまた!



ごいしはまぐりではブラウザでプレイできるノベルゲームも制作しております。
作品一覧はこちらです。

-ティラノスクリプト

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

ティラノスクリプト備忘録37
カメラアップからスタート

 先日、「思ひ出のラプソディ」を公開しましたが、その中で最初からアップの状態からスタートする場面があります。 今回はアップからスタートする方法について説明します。 まずは動画とコードをご覧ください。 ...

ティラノスクリプト備忘録14 移動エフェクト

キャラが移動するときのエフェクトを動画にまとめました。なんとなくどのエフェクトも似ているな―と思うなかれ。場面と合わせれば効果的そうなのも沢山あります。以下はテスト用のコードと実際に動かした動画です。 ...

ティラノスクリプト備忘録9 セーブスロット数の変更

ティラノスクリプトのセーブスロットの数をデフォルトから減らしたり多くしたりしたいことはあるのではないでしょうか。特に長編で分岐が沢山ある作品の場合はセーブスロットが沢山ほしい!なんてプレイヤーもいらっ ...

ティラノスクリプト備忘録24
配列

 配列について、次回作で利用しようと思い基本的なところをまとめました。まずは配列の動画とコードです。 配列の表示と代入 配列テスト[p] [eval exp="f.player=[' ...

ティラノスクリプト備忘録38
背景を変えるときに黒背景をはさむべきかどうか

 背景を変えるときに黒背景を挟んで背景を変えるか、それともそのまま背景を変えるかで印象はかなり変わります。  まずは、「思ひ出のラプソディ」より、コードと動画をご覧ください。 [font italic ...

アーカイブ