久しぶりに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に追加されちゃって「見えない」、わけです。
夕街さんありがとうございます!
文字レイヤを奥に増やすのは何のためかというと、
ボタン(文字レイヤ)
画像(画像レイヤ)
テキストウインドウ(文字レイヤ)
このような順番でレイヤーを重ねておくと、ボタンを一時的に消したいなと言うとき、画像レイヤで覆うことによって見えなくする=働かなくすることができるためです。
ボタンを消したりもう一度出したりという作業に伴う面倒なフラグ管理の手間がなくなります。
久しぶりにairnovelを触る2(&airnovelを高速習得8)
以前に下書きだけしてupしてなかった記事です。
airnovelをいじっているどこかの誰かのヒントになるかも、と思って書いていた記事ですが、この記事、誰の役に立ってるかと言えば、結局自分の役に立っています。
久しぶりに触ると忘れてることが多すぎ・・!
見直してみるとなるほどと思うことがいっぱいです。
・半角スペースにやられた
半角スペースをスクリプト内に間違えて書いてしまうとバグる。
スクリプト終端によく間違って書いてしまう。
検索で「スクリプト終端+半角スペース」=「] 」を検索して、変なところに書いてチェックすべき
同様に全角スペースもバグになる。
テキストエディタの設定で、全角スペースと半角スペースを表示させるようにしておくと、気がつきやすいので必須。
meryだと、表示>記号>半角空白、全角空白 のチェックを入れる
・埋め込みフォントはビルドしないと反映しない
ビルドすると、an中のフォント指定が自動で全部書き換えられる。
fontfamily=ipamとか
;#USE-FONT ipam
[loadplugin fn="ipam"] ; この行は触らないで下さい
など。(ipamは「ipa明朝」の埋め込みファイル名)
これらがすべてfontフォルダに入れたフォント名に書き換わる。
-(ダッシュ)がフォントのファイル名に入ってはいけない。
(画像や音楽ファイルなどでは大丈夫。ファイル名に使ってはいけない文字はない)
・OSのフォントは使えない。使えるらしいけどうちの環境では無理だった。
・ビルドって何?うわーめんどくさそうと思うが、しかし意外と簡単で、たいして待たされないし、制作中の仮プレイも苦にならない
・フォントは何を入れたらいいのか?
サンプルゲームにはIPA明朝が入ってるので、ゴシックにしたければIPAゴシック
もうちょい柔らかくしたかったのでM+を使うかも
・画面演出はビルドすると早くなる。
最初から読む(疑似環境実行)で、画像ファイルの表示が若干もっさりしてるのでどうしようかと悩んでたら、ビルドしたら早くなった。
制作中でもビルドはためしにやってみたほうがよいかも。
・全画面からの復帰、escと書いてあるけど、働かない。wキーで復帰した
・トゥイーンアニメで拡大はfloat属性を切る
・seタグ→playseのほうがいい。(勝手に停止になるので)
・一文字マクロの注意
「※適用範囲について
本タグより前にロードされたスクリプトファイルには適用されません。
またスクリプトファイルに本タグが記述された場合、本タグより前に出現した半角文字にも適用されません。」
・[record_place] セーブポイント指定。こまめに置いておく
layer指定しないと、全レイヤが保存対象
airnovel久しぶりに触る日記
ゲームデザインの悩みが大きく、開発がだいぶ間が開いてしまいました。
一応の結論が出たので開発再開です。
久しぶりすぎてairnovelの使い方忘れる&バージョンアップでだいぶ変化がありました。
・バージョンアップ
1)adobeAIRをゲームのインストーラーに組み込み出来るようになったようです。
(まだ公式の解説サイトに書いてない!)
2)anbooksのバージョンアップは自動で出来ないので、手動でアンインストール&最新版をインストールが必要
3)aneditって何だっけ・・?(開発用のツールですが使わなくてOKということを確認)
開発に必要なのはanbooksとテキストエディタのみ!
・エラー
anbooksをバージョンアップすると、旧環境で作ったゲームが起動できない!
→素材の暗号化を解除したら起動できた。
(引き継ぎがうまくいってなかった? とりあえず解決)
・制作
テキストエディタの設定すら忘れてしまってたので調べ直し
「UTF-8で改行コードLF」
テキストエディタmerryのデフォルトだとCR+LFになってるので注意