空想曲線

吉里吉里2/KAG3でのゲーム制作に使える小ネタ置き場。ゲーム用素材も置いてます。

吉里吉里/KAG:多いもの当てゲーム スクリプトサンプル  

2013-12-26[Thu]
cm0
tb0

吉里吉里/KAG用のスクリプトサンプルです。
左端のカードだけを見てAとBのどちらが多いかを当てるミニゲームとなっています。

whichスクショ

  • 変数をランダムで決定する方法
  • ローカル変数mpの使い方
  • エンティティの使い方
  • move タグのマクロ
  • 配列のソート方法
  • ズームプラグインの応用
  • title タグに変数を表示する方法
  • @付き文字列即値の使い方

この辺りを知りたいゲーム制作者さまに向けて作ってあります。
スクリプトを丸々使うも良し、一部だけコピペするも良し、原型がなくなるまで改造しまくるも良し。
制限はもうけていませんので好きなだけ改造してやってください。


使用前に《素材利用規約》をご確認くださいますよう お願いいたします。


スクリプトサンプル「Which?」をダウンロード(501KB)


今年の更新はこれにて終了。みなさま、良いお年をー (´∀`*)ノシ


吉里吉里/KAG:コピペで使えるテキストフェードマクロ  

2013-12-11[Wed]
cm0
tb0

うまい説明ができませんが、文章がゆっくり現れるアレです。
主人公のモノローグなんかによく使われているやつです。
使いやすいようにカスタマイズしてやってください。



テキストフェードインマクロ


まずは、テキストを表示するほうから。

[ macro name=txt_fadein ]
;メッセレイヤの裏画面を可視に
[ layopt layer="&'message'+mp.lay" visible=true page=back ]
;メッセレイヤの裏画面をカレントに
[ current layer="&'message'+mp.lay" page=back ]
;テキストをセンタリングする
[ style align=center ]
;テキストの位置を指定
[ locate x=%x y=%y ]
;表示したいテキスト
[ ch text="&mp.txt" ]
;スタイルをデフォルトに戻す
[ style align=default ]
;1000ミリ秒でクロスフェードトランジション
[ trans method=crossfade time=%t|1000 ]
[ wt ]
[ endmacro ]

●つかいかた
;メッセレイヤ1の Y 座標100に「ひゃっほい」と表示する
[ txt_fadein lay=1 y=100 txt="ひゃっほい" ]

使用するときに記述する項目は以下の3つです。

 lay……テキストを表示するメッセージレイヤの番号
 txt……表示するテキストの中身
  y……テキストを表示するY座標

指定レイヤの「message」はマクロに放り込んであるので
番号だけ書けば大丈夫です。いちいち書くのメンドイじゃん。

Y座標を指定しない場合はメッセレイヤの上側に表示されます。
センタリングをせずに、自分で X 座標を指定したいときは
[ style align=center ][ stylealign=default ]をコメントアウトして

[ txt_fadein lay=1 x=100 y=100 txt="ひゃっほい" ]

と追加すればOKです。ひゃっほい。



テキストフェードアウトマクロ


次に、テキストを消去するほう。

[ macro name=txt_fadeout ]
;表画面を裏画面にコピー
[ backlay ]
;メッセレイヤの裏画面を不可視に
[ layopt layer="&'message'+mp.lay" visible=false page=back ]
;1000ミリ秒でクロスフェードトランジション
[ trans method=crossfade time=%t|1000 ]
[ wt ]
[ endmacro ]

●使用例
;メッセレイヤ1をゆっくり消去
[ txt_fadeout lay=1 t=1500]
;メッセレイヤに書かれたテキストを消去
[ cm ]
;メッセレイヤ1を可視に戻す
;使用しないなら不可視のままでOK
[ layopt layer=message1 visible=true ]

テキストを表示したメッセージレイヤの裏画面を不可視にして
クロスフェードトランジションをかけています。
不可視になっているだけなのでテキスト自体は残っています。
可視に戻す前に[ cm ]タグでテキストをクリアするのを忘れずに。



テキストフェードマクロ応用編


「一行ずつテキストを表示して、一行ずつ消したいんだけど」

(`・ω・)b < ムリヤリでもいいなら任せろ!

さっき作ったマクロを応用すれば何とかなります。

たとえば、次のテキストを一行ずつゆっくり表示した後
表示した順にゆっくりと消していく処理をしたいとします。

 1行目|取られたら
 2行目|取り返せば
 3行目|いいじゃない

このテキスト一行ごとにメッセージレイヤを割り当てます。
なお、例文のテキストに深い意味はありません。

 1行目|メッセージレイヤ0
 2行目|メッセージレイヤ1
 3行目|メッセージレイヤ2

行数分のメッセージレイヤが必要になります。
3行分なら3枚、5行分なら5枚といったカンジです。
レイヤの枚数が足りないとエラーが出るのでご注意ください。

んじゃ、一気に書いていきます。

;1行目を表示
[ txt_fadein lay=0 y=100 txt="取られたら" ]
;2行目を表示
[ txt_fadein lay=1 y=150 txt="取り返せば" ]
;3行目を表示
[ txt_fadein lay=2 y=200 txt="いいじゃない" ]

;ちょっと待つ
[ wait time=2000 ]

;1行目を消す
[ txt_fadeout lay=0 ]
;2行目を消す
[ txt_fadeout lay=1 ]
;3行目を消す
[ txt_fadeout lay=2 ]

;メッセージレイヤを全部クリア
[ cm ]
;メッセージレイヤ0を可視にしてカレントにする
[ layopt layer=message0 visible=true]
[ current layer=message0 ]

表示したメッセージレイヤを一気に消したい場合は、[ backlay ] をかけた後
使用したメッセレイヤの裏画面を全て不可視( visible=false )にしてトランジション。

が、これをやると後でまた visible = true に戻すのが面倒だと思うので

[ eval exp="kag.back.messages[レイヤ番号].clear()" ]

と書いて、指定したメッセレイヤの裏画面を消去するのがラクかも。

行数が多いとマクロを作っていてもスクリプトが長くなるんだけど
こういった演出なら、せいぜい5~6行くらいが限度だと思うんで
コピペで乗り切ればいいじゃない。ちょちょっとコピってぺぺぺぺっと。

では、今回はこれにて (´∀`*)ノシ


フリー素材:メッセージウィンドウ素材 その4  

おまけで名前枠もつけときました。
背景写真は「風のおひるね」様からお借りしたものです。教会っていいよね。

メッセージ枠素材サンプル

吉里吉里以外のゲームツールでもご利用いただけます。
今回は数が多いので、まとめてダウンロードのみとなります。ご了承ください。

(´・ω・)< メッセ枠と名前枠、それぞれ8つずつ入れときました。

素材の使い方やメッセージレイヤの設定については、フォルダ内の「つかいかた.txt」をお読みください。
また、使用前に《素材利用規約》をご確認くださいますよう お願いいたします。


メッセージウィンドウ素材 その4をダウンロード(37KB)


現在のページ

Category

Link

Comment

Mailform

Author

Twitter