更新:不具合修正とレジューム機能

●リリース
Ans 2.34、an_sdkAndroidiPadiPhone
2.34
* add:レジューム処理(ゲーム中中断、再度起動時に読んでいたところから復帰する)
* bug:文字表示待ち時間、自動読み進め時間設定処理ミス(エラー「[ch] waitは必須です」が発生する不具合)修正

不具合修正は瀬戸愛羅様より寄せられた件です。

前回Ver2.33からconfig.anprjに書けるようになったinit要素に「tagch_msecwait」「auto_msecpagewait」属性にまつわる不具合です。
正しい値がセットされていなかったようです。お手数をおかけします。
一度[clearsysvar]を行なうか、データファイルを削除してください。
(ちなみにこれらの属性は、この機能が実装される前と同じ値(デフォルト値)がセットされるので、変更したい場合を除き、改めて記述を追加する必要はありません)

レジューム処理は、ゲーム本文を読んでいる最中に終了させ、
再度アプリを立ち上げた場合に、さっきまで読んでいたところから再開する機能です。
スクリプトで実現しているので、無効にしたい場合は
main.anの27行目[sys_resume_load]などをコメントアウトして下さい。


MAX Previewとして公開されたFlex Hero(Build 4.5.0.17689)でビルドしてみました。

AIR 2.5名前空間でコンパイルする変更点
●UnderCherry-app.xmlの二行目を「2.0」→「2.5」に変更(AIR名前空間)
●バージョン表記を変更
 旧 <version>2.34</version>
 新 <versionNumber>2.34</versionNumber>、<versionLabel></versionLabel>


・何だか文字表示がぬるぬる滑らか?(TLF表示速度が改善されているそうです)
・リンク文字がリンクになってくれない。マウスに反応しない。仕様が変わった?

という感じです。
しばらくは現状のAIR 2.0としてプロジェクトを公開しますが、
いずれはAIR 2.5に移行します。(Android版などはAIR 2.5必須です)

今迄制作されていたプロジェクトは無理に移行する必要はありませんが、不具合修正もあるのでできれば移行してください。
ただし[update_check]によるアップデートは、新旧のアプリでAIR名前空間が異なると、アップデート出来ません。
.airファイルを配布しての上書きアップデートは出来ます(一度アンインストールの必要がある?)
スポンサーサイト



拍手レス~(追記10/24)

瀬戸愛羅さまよりご連絡が。
wysサイトも独自ドメインにお引っ越しのようです~。

>ちょっと「あれっ?」と思ったことがありましたので。
以前はant doかant localかでpath.txtが作成されたように思うのですが、今日やって見た所作成されなかったので。


「ant local」で出来るはずなんですけどね~。なんでかしら。

>そこで、自力でpath.txtを打ち込んでみてブラウザで実行してみようとしたのですが、上手くいかなかったのです。

{"bg1":{"jpg":"sozai/bg1.jpg"},"main":{"an":"text/main.an"}}

という感じで打ち込んだのですが。保存形式の決まりなどあるのでしょうか?試したものは、Ans経由で確認して、antでも動いているものなのですが。


ファイル形式そのものはJSONという、
改行もタブ等によるインテントも割と自由なフォーマットです。
文字コードはAIRNovel全般と同じUTF-8です。
(この辺は「ant local」が正しく動けば知らなくても良い事なので、あまり皆さんが知る必要はなかったのですが……。覚える事が多くなりますし。でも動かないのでは仕方ないですね)

フォーマットも例の通り


  “ファイル名(拡張子無し)”:{“拡張子”:“AIRNovel.swfからの相対パス(ファイル名・拡張子)”
,~カンマで区切って、同じように続けられる。ただしファイル名は全て違う事~


で正しいです。
(「相対パス」で日本語を含む場合はURLエンコードが必要。「ファイル名(拡張子無し)」はそのままでよい)

頂いた例は正しいようですし、以下の点を確かめて下さい。
ブラウザで実行する際、
Webサーバーに置くのは.airファイル化する「AIRNovel.swf」で良いのですが、
ローカルマシン上でブラウザから開く場合は「AIRNovel_l.swf」という特別なビルドのswfを使う必要があります。(HTMLファイルはindex_l.htmを開いて下さい)

技術的な四方山話をすると……
これはFlash/AIRセキュリティ上の仕様で、ネットとのデータやりとりとローカルマシンとのデータやりとりをどちらかだけに限定するためです。
(例えば普通のFlashファイルはネットとのデータやりとりを許し、ローカルマシンの個人情報に触れなくしているわけです。触る際にはファイル選択ダイアログを出し、ユーザーの責任の下でファイル選択させる必要があったりします)
だからFlash版のAIRNovelがサムネイル画像をローカルマシンに保存出来なかったりするわけですね。
(保存先をユーザに選択させれば可能だが、それはノベルシステムとしてかなり不細工。変なとこに保存されるかもだし)

「AIRNovel_l.swf」は「ローカルファイルにしか触りません」という設定でビルドしたswfなのです。「ant local」で生成されます。



チェックポイントとしてはそれぐらいかなぁ……と。


追記 2010/10/24 1:24

>path.txtが作られないは置いておきまして、path.txt手打ちの件は解決しました。解決はしたのですが、どこが悪かったのかはわからずじまいです。「桜の樹の下には」で動くことを確認→ファイル名を桜で使われているものに変更して桜のファイルと差し替えて確認→プロジェクトフォルダに桜のpath.txtを持ってきて確認→ファイル名などを元に戻して、path.txtを手打ちで確認。としているうちになぜか最後でも動きました。何か変なことをしていたんでしょうね。


改行コード、文字コードとかかなぁ……? んむむ。
WindowsならFree版のEmEditerがお勧めですよ。
意外にテキストエディタで編集はして、保存忘れという事もありますし。ごくまれですが。

>path.txtがant localで作成され無い件ですが、build.xml内を見た所path.txtの文字がありませんでした。以前はあったような気がするのですが、気のせいでしょうか?古いのは削除してしまっているので確認できないのですが。それでは、失礼します。


探す場所もアプローチも正しいです。ただ最新ではmkpというAdobe AIR製のコマンドラインツール内部にその文字が含まれているので、見つかりません。
67行目からの「mkp」関連のカタマリがpath.txtを作成する処理です。
mkpは、config.anprjに書かれたフォルダ群を入力として、path.txtを生成します。

改良中の一時期「path.txtの文字」があったかもですが、ちょっと覚えてません(汗)
お問い合わせ有り難うございました! 失礼致します。

更新:Android侵攻中

●リリース
Ans 2.33、an_sdkAndroid(new !)iPadiPhone
2.33
* add:Androidにてans、桜が動作。画面サイズ(480x320)と素材が合ってないとずれる。
    ・ok:[link]利く。
    ・ok:画像も出る。
    ・ng:「ー。」等が縦書き回転しない(AIR for Android Beta現時点の仕様?)
    ・ng:日本語ファイル名ダメっぽい(〃)
    ・ng:バージョン変数がAIR 2.5で変更され、一時的に表示されない
    ・ng:ゲーム終了でアプリが終了しない(機構を作っていない。BGM流れ続ける)
* chg:以下二つは廃止。config.anprjの設定に移動。
     AN_CFG::AN_TAGCH_MSECWAIT …… 文字表示待ちMSecデフォルト値
     AN_CFG::AN_AUTO_MSECPAGEWAIT …… 自動読み進めMSecデフォルト値
* chg:以下は廃止。
     AN_CFG::STAGE_ORIENTATION
* chg:Fileオブジェクト.nativePathが常に空らしく、.urlを使用するよう変更。
    (AIR for Android Beta現時点の一時的な不具合と思われる)
* bug:iPhone/iPadビルド配布ファイル不具合(deftag_loadplugin.as、build.xml、build.p.xml)修正

休日一日でほとんど移植出来ました。やっぱAdobe AIRはすぎょい。
Androidでの起動が遅いですね。


文字表示速度のデフォルト値、コンパイルスイッチではなく
config.anprjに書くよう変更しました。
init要素に「tagch_msecwait」「auto_msecpagewait」属性を追加

<?xml version="1.0" encoding="UTF-8" ?>
<config>
 <first_script fn="main.an" />
 <save_ns name="com.fc2.blog38.famibee.ans-m" localpath="/" />

 <search>
  <path dir="mat" />
 </search>
 <window width="480" height="320" />
 <init tagch_msecwait="80" auto_msecpagewait="2000" />
</config>



>拍手コメント連投中のsatoです。いやー、なんとなく話がすれ違っていた原因が判りました。
現在配布されているuc_iPhone.zipの中身の/SDK/an_sdk////deftag_loadplugin.asが通常版と全く同じ物が入ってしまっているみたいです。これがプラグインのswfを読み込もうとしてエラーが出る原因だと思います。
あと、build.xml、build.p.xmlも通常版と同じ物が入っているようです。

修正しました(´ω⊂ すみません、手が廻ってなくて(汗)
正直、大変助かっております。

>android対応について。すこし前に試したときには日本語ファイル名の修正とnativeWindow部分の修正のみで、簡単に動かせるようになったのですが、最新のSDKとAIRランタイムで試してみたところ、エラーが出るようになってました。どうやら、MainThread.runFirstのCmnLib.setSearchPath(xmlConfig);の部分で引っかかっているみたいです。(File処理に制限?)
Fileオブジェクト.nativePathが常に空のようです。Fileオブジェクト.urlで取得する形に変更しました。
多分、AIR for Android Beta現時点の一時的な不具合だと思いますが。
(他のOSでも問題なく動いているようなので、このまま行くかも知れません)

>なかなか、同一ソースで複数プラットフォーム対応というのは難しいですね。ファイル構成がさらに複雑になるかもしれませんが、頑張ってください。w
フレームワーク内はてんやわんやです(´Д⊂w

スクリプトレベルではパフォーマンスチューニングや携帯特有(ジェスチャとか)だけ考えれば済むよう、頑張ります!

更新:修正とiPhone版のWeb実行


(画像クリックでブラウザ上実行。動かない・表示が変な場合はミニウインドウを少し動かしてみたりこちらを開いてください)

iPhone版をWeb実行できます。
ただしAlbum画面だけはFileなどFlashで使えないオブジェクト(Adobe AIRやiOSで使える)があるのでSave/Load画面のサムネイル画像は表示されません。(PC版と同じ制限)

●リリース
Ans 2.32、an_sdkiPadiPhone
2.32
* bug:携帯以外の環境で「携帯がアイドルモードに移行するのを防ぐ変数」にセットした場合にエラーになる不具合修正
* bug:iPhoneを縦でアプリを起動した時、画面がおかしくなる不具合修正
* add:iPhoneプロジェクトもWeb公開出来る仕組みを追加

このバージョンでさっき、桜iPhone ver1.01申請しました。
前回は10/2申請、/13通過だったので27日ぐらいにアップデートが来るかも。



【2010/10/17 9:00 更新】satoさん拍手~
>iPhone版、どうしても上手くいきません。。(泣)なんとか「uc-m_db.ipa」が作成でき、iPhoneでタイトル画面を表示するところまで行けたのですが、plgGallery.swf等のプラグインファイルが無い、とエラーが出てしまいました。そこで、足りないプラグインswfをWork内の.asファイルからamxmlcで作成してsystemフォルダに入れた所、PC上でのadlを使った実行では問題なくプレイすることができるようになりました。
こぴーしちゃらめぇ(>q<)

●1.以下の構成にして下さい。

UnderCherry(ここでのフォルダ名は自由)
 |
 |-Work
 |
 |-iPad
 |-iPhone


●2.iPhoneフォルダをカレントディレクトリにし、
「ant」……PC上で起動(AIR版のantと同様のデバッグ方法)
「ant ip」…… uc-m_db.ipaを生成し、iTunes経由で実機デバッグができます。
       (.p12ファイル(デバッグ用)が必要)
「ant ip_appstore」…… AppStoreに申請出来る形式のuc-m.ipaを生成。
            (.p12ファイル(申請用)が必要)
「ant local」…… index.htmでブラウザ実行(index_l.htmでローカル実行)形式を生成

>しかし、再び.ipaを作成して実機でプレイしたこころ、今度は同じ箇所でエラーも何も出ず、アプリが停止してしまいました。おそらくプラグインswfの作成手順に問題があるのだと思いますが、よくわかりません。そこらへんの解説をしていただけると助かります。(iOS版のAIRNovelビルド時のソースパスに、プラグインで使用するライブラリやクラスファイルを含めている理由は、pfi環境では外部ロードしたswfの操作やクラスの追加になんらかの制限があるから、という認識で間違っていませんでしょうか?)
はい、「外部ロードしたswfに含まれるコードは実行出来ない」ようです。
つまりプラグイン機構全否定(´Д⊂ まぁ、セキュリティ的な話なのでしょう。
なので本体swfに含めて丸ごとビルドしています([loadplugin]は同じように必要です。)

コードさえ含まれていなければ、swfはアニメーションgif感覚で使えます。
クリック待ちや時間待ちぐるぐる回転(名前思い出した、インスペクタだ)は随時swfをロードしています。

更新:修正とAppStore進出報告

20101004iPhone0t.jpg
●リリース
Ans 2.30、AIRNovel_SDKiPadiPhone
2.30
* bug:Flash版が起動出来なかった不具合を修正。


iPhone版「桜の樹の下には」がAppStoreで公開開始です!
無料ですので、どうぞお試し下さい。

iPad版も出来ているのですが、Packager for iPhoneの不具合で申請出来ずに停止中。
まぁ時間の問題です。

次はAndroidだっ!


【2010/10/16 1:00 更新】satoさんから拍手~
>お久しぶりです。iPhone版をさっそく手元にあったiPodタッチでプレイしてみました。処理能力が最も低い初代iPodタッチでのプレイなので仕方ないですが、全体的に動作が遅かったです。文字表示もモタつく(処理落ちなのか2、3文字ずつ表示される)感じでした。最新のiPhoneやiPadだったらサクサク動きそうなので、大丈夫だと思いますが。

それについてはAdobeも明言してまして、TLF処理が遅いようなのです。

Adobe Flash Professional CS5 * Text Layout Framework(TLF)テキストの操作
iPhone ベースの SWF:パフォーマンス上の理由により、iPhone で TLF を使用することはお勧めしません。


(´Д⊂
普通の文字表示はそうでもないのですが。

>あと、自分でも開発環境を使ってiPhone版をビルドしてみようとしたのですが、上手くいきませんでした。調べてみたところ、現在配布されている「uc_iPhone.zip」ではいろいろファイルが不足しているようです。(ライブラリやプラグインが無かったり、build.p.xmlにも修正が必要なようです)
これはデスクトップ版の一部ソース(uc_work.zip)を参照しますので、AIRNovel開発環境のディレクトリ構成を参考に配置して下さい。
どこにも書いてない上、判りにくくて済みません。

ライブラリ更新しました。足りないライブラリもこれで追加されると思いますのでお試し下さい。
ソースもちょっと更新。


●リリース
Ans 2.31、AIRNovel_SDK(Packager for iPhoneやswc追加)、uc_work.zip(iPhone/iPad兼用ライブラリなど)、iPad(buildファイル修正)、iPhone(buildファイル修正)
2.31
* bug:Ubuntuでルビが出ない(ルビに正しくフォント指定されない)件を修正。
* chg:Ubuntuで設定画面の日本語表示が変なのを対応。
* add:プラグインがロードされたかを示す変数「const.an.hPlugin.(プラグイン名)」


>Android版にも期待しています。これからも頑張ってください!
がんばりまっする!
プロフィール

ふぁみべぇ

Author:ふぁみべぇ
 →@famibee
 →メアド(四角を@に)

カテゴリ
リンク
検索フォーム
最新記事
月別アーカイブ