airnovel久しぶりに触る日記5
個人的覚え書きです。
・時間制限の作り方
[event key=enter_frame label=*timebar frame=500 call=true global=true]
5秒ごとに*timebarというラベルに飛ぶ。
このとき、frame=(airnovelのフレームレート基準の数字。初期値100/秒なので500にすると5秒)
また、global=true (グローバルイベント。フラグがセーブされるイベント)にしておくのが重要
global=false で、フラグがセーブされないイベントにしておくと、時間制限イベントを発生させた後に、button定義をすると、時間制限イベントがクリアされてしまう。
原因は、button定義でcall=false(ジャンプの定義)をしているため。
”call=false だと、「global=falseのイベント予約は全て削除」しますよ”
つまり、global=falseでの時間制限イベントを定義すると、その後に call=false(ジャンプする)イベントを定義すると、時間制限イベントがクリアされてしまう。
これを回避するために、時間制限イベントはglobal=trueで定義しておく
・時間制限のイベント解除
[event key=enter_frame frame=500 global=true del=true]
時間制限イベントを開始したら、どこかで解除も必要なわけで、そのための命令。
[clear_event]というタグもあるが、それを使うと、すべてのイベント予約が消されるので、ボタンの定義なども死んでしまう。なので特定のイベント予約のみを消すために、上記のタグを使う。event key=の後は、定義したときと正確に同じ物を書くこと。grobal=trueも含めて!ちゃんと書かないと別イベント扱いになる!
・ビルドについて
ビルドには何種類かあります
ゲームを配布するにはこれをやらないといけません
「OS個別・簡易アプリ生成(exe,app)」から
winだとexeファイルのインストーラーが出来る。
adobeAIRがPCにインストールされていない場合、ネット経由で自動でadobeAIRをインストールした後、ゲームがインストールされる。
「実行形式パッケージ(air,ipa,apkなど)生成」のサブカテゴリから
.airファイルのインストーラが出来る。ユーザーによるadobeAIRの事前インストール後に、.airをクリックすることでインストールできる。win、mac、linuxなど、共用のインストーラーなので、adobeAIRの事前インストールのめんどくささに目をつぶれば、取り回しが良いインストーラー。逆に言うとadobeAIRの事前インストールにユーザーを誘導するのが面倒
「【ant air_r】OS個別インストーラ(exe,dmg)」
うちの環境では動かなかった。夕街さん曰く、 ここは最近メンテしていないとのこと
「【ant air_b】OS個別RTバンドルパッケージ(exe,dmg)」
個人的には一番使いやすい。adobeAIRが丸ごと含まれるパッケージを作れる。
adobeAIRの事前インストールなど面倒な作業がないので、ユーザーにとっても、一番楽と思われる。
ただしインストーラーではなく、展開されたゲームフォルダを丸ごと作るので、
素材のフォルダやらが多数むき出しになり、見た目があまり良くない。
Nscripterのパッケージに似てるかもですが、airnovelは素材のフォルダが多い仕様なので、こういう状況になる。
(インストーラーを使う形式だとこのフォルダがCドライブのprogramfilesの中にできて、デスクトップにはexeのショートカット一個だけができるので、見かけ上はすっきりしてる)
いずれにしても、素材のフォルダの中身はすぐ見れる仕様なので「素材暗号化」が必須です。(暗号化のオンオフはanbooksにデフォルトでついてる機能なので、簡単)
*注意点
「【ant air_b】OS個別RTバンドルパッケージ(exe,dmg)」については、
”「プロジェクトを作ったタイミング」が2016-10-14以前だと、「ant air_b」未対応なんです(電子演劇部 【追記】AIRNovel更新:Steamでエラーになる対策、AIRNovel作品をSteamで公開
電子演劇部 【追記】AIRNovel更新:Steamでエラーになる対策、AIRNovel作品をSteamで公開”
なので、昔のANBOOKsで製作開始をしたゲームは、「【ant air_b】OS個別RTバンドルパッケージ(exe,dmg)」形式でのビルドが働きません。
プロジェクトの作り直しをする必要があります。
要は新しいANBooksで新規プロジェクトを作って、シナリオとか画像などのファイルを丸ごとコピペすればいいわけです。