フワフワソが「ソラとピヨちゃん」や「宮本県」を作るブログ(フワフワソ・ラウンジnew!)

ラノベとテクノを愛するふわふわがノベルゲームを作っています。あと日常のことやイベントの告知なども。スクリプト関連の記事は自分用の備忘録です

久しぶりにairnovelを触る3

コミケ間近!

個人的な覚え書きです。

 

・ジャンプ先のラベル名を変数にする

[jump label='&"*"+ aaa']

ラベル*aaaに飛ぶ。

aaaは変数なので、

[let name=aaa text="hensuu" cast=str]

[jump label='&"*"+ aaa']

みたいな感じでaaaにhensuuを入れておけば、*hensuu にジャンプになるはず(テストしてないので未確認)

 

・変数に数字を加算する

[let name=save:loop text="&save:loop+1"]

いくら調べてもなかなか分からなくて、何とか解決できたのがこれ

このタグにさしかかるたびに、変数「loop」に1が加算されていく

ループ回数を判定するようなところで使う。変数は別にloopじゃなくても何でもいい

セーブ変数属性のsave:をタグ左let name=でつけてるので、タグ右のtext=でもsave:をつけないと、

左右のloopが別な変数と判断されて上手く働かない。ここ注意。

 

・文字レイヤを増やす

サンプルゲームのmain.an冒頭

[add_lay layer=mes class=txt]

の後に

[add_lay layer=mes2 class=txt]

を置くと、文字レイヤが階層手前に1つ増える。

問題は、逆に奥に文字レイヤを増やしたとき。

[add_lay layer=mes2 class=txt]

[add_lay layer=mes class=txt]

このような順番で記述すると、デフォルトの文字レイヤの階層奥に文字レイヤを追加できるが、 サンプルゲームの改造だと上手く働かない。

タイトル画面の、スタートなどのボタンが消えてしまう。

解決法は、main.anのラベル*title_menuの箇所のボタン設定にある。

[button]に layer=mes を追加して下さい。「デフォルトの文字レイヤの初期値は、最初に追加された文字レイヤ」にするため、先にmes2文字レイヤを[add_lay]すると、[button]がmes2に追加されちゃって「見えない」、わけです。

 [current] デフォルト文字レイヤ設定http://famibee.web.fc2.com/tag_dev/tags.htm#current、というタグもありますので、これによるデフォルト文字レイヤ指定を[button]群の前に追加してもよいです。

夕街さんありがとうございます!

 

文字レイヤを奥に増やすのは何のためかというと、

 ボタン(文字レイヤ)

 画像(画像レイヤ)

 テキストウインドウ(文字レイヤ)

このような順番でレイヤーを重ねておくと、ボタンを一時的に消したいなと言うとき、画像レイヤで覆うことによって見えなくする=働かなくすることができるためです。

ボタンを消したりもう一度出したりという作業に伴う面倒なフラグ管理の手間がなくなります。