ちょっと修正&一口メモ
Ans 2.03、桜 2.03、AIRNovel_SDK
2.03
* add:[play_face]に「現在停止位置からアニメ再開」、[stop_face]に「現在再生位置でアニメ停止」機能追加。
pngやjpgファイルは無駄を削って小さくできますよ。
ゲームの動作が速くなりゲームパッケージサイズも小さくなるのでお勧め。
自分はMac用のツール「ImageOptim」を使ってます。
Winもきっとこういうツール有ると思います。

お問い合わせがあった件で。
文字レイヤのlayoutで設定したpaddingが
文字表示の開始点には反映されていますが、
終了点には反映されていません。
max_col、max_rowの設定に従っているようです。
6/22日のメールのテストファイルで、やたら右の空白が狭かったもので。
表示させたい範囲の文字数を数えればいいだけですので、
たいした問題ではありませんが。
これはご指摘の通りAIRNovelはそういう仕様なのですが、
AIRNovel内部で使用しているText Layout Framework(TLF)を駆使すると、
「文字表示領域矩形内に自動で文字を並べる」事が出来ます。
こういう感じです。動作確認済み!
[lay layer=mes page=fore max_col=999 onsplit=nop chk_overrow=false layout=#&'paddingLeft="70" paddingTop="70" paddingRight="70" paddingBottom="70" lineBreak="toFit"'#]
設定を説明すると、
1:TLFに対し、画面サイズ一杯の矩形から内側に向かってpadding指定で余白を入れる。(文字表示領域矩形が決定)
2:AIRNovelに対し max_col=999(充分大きな値)、onsplit=nop、chk_overrow=false指定すると共に、
3:TLFに対し lineBreak="toFit" にて「文字がpadding矩形範囲を超えそうになったら自動改行」指定。
swfアニメを詳細に操作するタグ群追加

(画像クリックでブラウザ上実行。動かない場合はこちらを開いてください)
画像レイヤ内に読み込んだswfアニメのアニメ終了を待つサンプルです。
その他様々なタグが追加されています。
デスクトップでのお試し方法
1.「ANBooks」をインストール。
2.swf_anime2.zipをダウンロード、解凍。
3.「~.anprj」をダブルクリックで、サンプルプロジェクトが起動。
antビルドファイルやソースファイルなども入っていますので、改造される方はご参考までに。
[lay]内のface(差分画像)一つ一つ単位でswfアニメを操作・情報取得します。
○[lay layer=a page=fore fn=a.swf]
// [lay page=fore]のみ「swfアニメ終了イベント」が発生するよう機能追加されました。
○[wa layer=a page=fore face_no=0 arrive=true]
// [wa] ── SWFアニメの停止待ち
[wa]はSWFが「最終フレームで停止する」ように作られていなくても、
アニメが最終フレームに達した場合に停止させます。またそのようなSWFの場合、
[wa]が呼び出されるまでループを続けます。

○[let_face_frame layer=a page=fore face_no=0 name="tmp:a0_fn"]
// 差分SWFの現在フレーム番号 を変数に代入
上図サンプル(EyeCatch.fla)で言う赤縦線位置のフレームを表示中だとすれば、変数a0_fnに41を返す。
○[let_face_totalframes layer=a page=fore face_no=0 name="tmp:a0_mfn"]
// 差分SWFのフレーム総数 を変数に代入
上図サンプル(EyeCatch.fla)なら、変数a0_mfnに76を返す。
○[play_face layer=a page=fore face_no=0 frame=10]
// 指定した位置(Flashにおけるフレーム番号)から差分SWFのアニメを開始
frame属性で10を指定した場合、フレーム番号10からアニメを開始する。
label属性でラベル指定も可能。
○[stop_face layer=a page=fore face_no=0 label="go"]
// 指定した位置(Flashにおけるフレーム番号)で差分SWFのアニメを停止
上図サンプル(EyeCatch.fla)において、label属性でgoを指定した場合、
ラベル「go」(=フレーム番号41)へ移動してアニメを停止する。(41状態の表示で停止)
frame属性でフレーム番号も可能。
更新:6/22報告不具合修正&要望追加
Ans 2.02、桜 2.02、AIRNovel_SDK
2.02
* bug:クリック待ち等でconst.an.eventArgをクリアしない(値を触らない)よう修正。
* bug:あるキーイベントを削除した場合に他のキーイベントも削除される件
* add:時間取得系[let_date_time]、[let_timer]追加。
* add:画像レイヤSWF操作系の[wa]、[let_face_frame]、[let_face_totalframes]、[play_face]、[stop_face]追加。
瀬戸愛羅さんの6/22不具合報告3・4と、6/22要望全てに対応しました。
その他は後ほど。詳細は以下になります。
不具合----------------------------
3.argで渡した値がcondでは読み込めません。cond="const.an.eventArg == 2"
等が無視されます。
クリック待ちなどでconst.an.eventArgをクリアする仕様でした。
次にevent系タグでargをセットするまで値を触らないよう修正しました。
4.eventでdel=trueの場合、指定したkey以外も消去されます。
あるキーイベントを削除した場合に他のキーイベントも削除される不具合でした。
修正しました。
global=trueで予約すると、消すときもglobal=trueの記述が必要でした。
これはこういう考え方になってまして、「global=false」はその場の使い捨て的に使用する[event]です。
「global=true」は明示的にdel=trueなどで消すか、「global=false」なイベントで上書きしない限り
ゲーム中永続的に効果がある[event]となっています。
要望-------------------------------
配布されている開発環境にSDKの中身のFlex SDK抜きも入れていただけるとうれしいです。
自分で作業して、AIRアプリケーション化する前に新しいのに変える場合など、
そこだけあれば十分ですので。
→「UnderCherry.zip(AIRNovel開発環境のみ。35.4MBほど)」がそうです。
ソフト起動からの時間がわかる組み込み変数、
または一定時間後に発生するイベント予約できるタグがあると便利です。
以下のタグを追加しました。
○[let_date_time] ── UTC経過時間(世界協定時刻(UTC)、1970年1月1日0時0分0秒からのミリ秒数)
○[let_timer] ── VM起動経過時間(仮想マシンが起動してからのミリ秒数)
フラッシュアニメを表示させて、後ろで次に表示する画像を用意して、BGMを変
更して、アニメが終了したら消去する場合などに。
waitで時間指定をすると、いろいろやっている分タイムラグができてしまい、アニメが始めに戻ってしまうので。
[let name=time text=開始時間]
[lay layer=a fn=a.swf]
いろいろ
[wait canskip=false time=開始時間+アニメ時間-今の時間]
ができると便利だな、と思いまして。
これはこれで、目的を満たすタグを追加しました。
更新:開発環境配布ファイル修正
(Windows環境のみの問題です)
●「ant ds」などが出来ない。
→Adobe AIR 2.0 SDKがWindows版であるものも頒布するようにしました。
→(Linux環境ではお手数ですが、こちらからダウンロードし上書きしてください)
●解凍してすぐ「ant font」できるようIPA明朝フォントファイルも同梱するようにしました。
レポート、痛み入ります。開発環境配布ビルドテストを忘れておりました。
(追記)android端末(Desire)でAIRNovelを早速動かしてみたとのレポートが!
でも黒画面から先に行かないという……あらら。やっぱ最初の曳航弾は苦労がありますね。
画面サイズとか日本語ファイル名とか文字コードとか、何らかの理由だとは思いますが……。