更新:iOSサブプロジェクト公開

20100923iPads.jpg
●リリース
Ans 2.26、AIRNovel_SDKiOS
2.26
 * bug:Packager for iPhone対応中(iOSのみの変更)
     * add:プラグイン(本体と共にコンパイルする)機構作成
     * add:アルバム、履歴、設定画面
 
iPadでアルバム、履歴、設定など全ての画面が利用出来るようになりました。
(設定画面だけ独自カスタマイズです。BIT-101さんMinimalCompsをお借りしました)
20100923iOS.jpg

押したボタンが戻らなかったり、
動作が遅い画面に工夫が必要など、まだまだ手を加える余地はありますが、
iOSプロジェクトも公開します。


ipaファイル生成手順

1.櫻の樹の下にはのビルド環境、Packager for iPhone環境を整える。
 (以下を参考に。iPhone Developer Programへの参加【有料】、p12署名ファイルが必要です)
 ぶろっがー 更新:不具合修正とPackager for iPhone対応中
 ぶろっがー 更新:ジェスチャ追加とPackager for iPhone対応中

2.iOSサブプロジェクトをダウンロード。解凍してUnderCherry直下に置く。
3.コマンドライン(ターミナル)でカレントディレクトリをiOSにする。(cd iOS)
4.「ant cmp」でコンパイルが通るようにbuild.p.xmlを変更する。
5.「ant」でipaファイルが生成される。(2分ほどかかる)
6.iTunesの「ライブラリ」にDrag&Dropし、iPadと同期する。(更新は一度iPadから削除)

※ansプロジェクトの方にもiOSサブプロジェクト(ansの移植)があります。(→ビルド手順
こちらならiPadだけでなくiPhone、iPod Touchでも動くものです。
スポンサーサイト



更新:iOS対応

●リリース
Ans 2.25、 2.25、AIRNovel_SDK
2.25
 * bug:タイトルにエラーメッセージが出ない不具合
 * bug:Packager for iPhone対応中(iOSのみの不具合)
    * bug:Trans中のみ画面が左上四分の一になる不具合
    * bug:スプラッシュ画面修正
    * add:エラーメッセージはメールソフトを立ち上げ表示する機能
    * chg:frameRateを"20"に下げた。
    * bug:文字レイヤ背後初期値を設定していなかった不具合
    * bug:[gesture_event global=false]による上書きが上手くいかない。

●マニュアル追記
 ・タグリファレンス……ジェスチャイベント予約[gesture_event]
 ・開発者向け情報……アイドルモードに移行するのを防ぐ組み込み変数について。
 

iPadでどしどし修正中。かなり動くようになってきました。
(アルバム、設定、履歴は触らないで><)
二本指タップか上スワイプで右クリックメニュー。

切りの良いところで、AppStoreに無料公開したいです。


ただ、以下の二点がどうにも気になります。

●ルール有りトランス([trans rule=~])が死ぬほど重い。
  クロスフェードはGPUで滑らかなのですが。
  iPad上では使わないのが無難のようです。

●一文字ずつ表示する処理に引っかかりがある。
  これもちょっと気になりますね。

更新:改行不具合修正と文字表示円滑化

●リリース
Ans 2.24、 2.24、AIRNovel_SDK
2.24
 * chg:一文字ずつ出す処理高速化
 * bug:sato氏9/9連絡不具合修正(本文の最初に改行が挿し込まれる現象)
 * bug:妙な改行不具合(桜の行21「どうして俺が」で再現)


sato氏9/9連絡不具合は以下の内容です。

表示される文字数が表示列数(+ぶら下がり文字数)ちょうどのときにクリック待ちをさせ、なおかつ行末に[l]か[p]で改ページ記号を表示させると、かなりの頻度で本文の最初に改行が挿し込まれる現象が発生するようです。

;--------------------
[add_lay layer=mes class=txt]
[lay layer="mes" page=fore visible=true max_col=10 bura_col=0 layout='color="0xffffff"']
*loop
0123456789[p][er]
0123456789[l][er]
0123456789[waitclick][er]
[jump label=*loop]
;--------------------




「妙な改行不具合」は以下の内容です。左が過去、右が修正後。
20100921bug2.png20100921bug2after.png


お答えしていなかった件があったので。

プロポーショナルフォントの件ですが、「TLFを駆使する方法」だと表示済みのテキストがTLFの禁則処理により、後から改行されてしまうことがあり、そのままでは使用できないのです。(TLFにはこの禁則処理をOFFにするオプションが無いですよね?リファレンスを読んだのですが、見当たらないので……)


うむむ、無いみたいですね。

Adobe Flash Professional CS5 * Text Layout Framework(TLF)テキストの操作
禁則処理タイプ 禁則調整方式と呼ばれる場合もあります。このプロパティは、日本語の禁則文字(行の先頭または末尾に配置できない文字)の処理に関するオプションを指定します。「禁則処理タイプ」の値は次のとおりです。

●自動:テキストのプロパティインスペクターの「コンテナとフロー」セクションで選択したロケールに基づいて解決されます。これが初期設定です。
●最小限の調整を優先:行の拡張または圧縮(必要な幅に最も近い結果が得られる方)に応じて均等配置します。
●禁則文字の追い込み:字間を詰めて、行末に禁則文字が来ないように位置揃えを調整します。禁則処理が必要ない場合や、行末のスペースが不足している場合は、字間が広げられます。
●追い出しのみ:行の拡張に応じて均等配置します。


AIRNovel側の処理は、[lay onend=nop onsplit=nop] みたいにして寝かせられるんですが……。
サポート検討が必要ですねー。

更新:ジェスチャ追加とPackager for iPhone対応中

●リリース
Ans 2.23、 2.23、AIRNovel_SDK
2.23
 * chg:Packager for iPhone対応中(iPadでとりあえず桜が動作した)
 * add:タッチパネル用ジェスチャイベント予約タグ[gesture_event]追加(β版)
     検知対象……タップ、上下左右スワイプ、二本指タップ、三本指タップ、二本指ひねり、二本指ズーム
 * add:iPhone がアイドルモードに移行するのを防ぐ変数追加
     [let name="flash.desktop.NativeApplication.nativeApplication.systemIdleMode" text="keepAwake"]
     [let name="flash.desktop.NativeApplication.nativeApplication.systemIdleMode" text="normal"]
      (詳細)http://help.adobe.com/ja_JP/AS3LCR/Flex_4.0/flash/desktop/SystemIdleMode.html


pfi(Packager for iPhone)というコマンドラインツールで
iOSアプリをターミナル(コマンドライン)コンパイルできます。

★手順1
Adobe Labs - Packager for iPhoneで配布されているライブラリをコピーします。
必要なのは以下の通り。Flex SDKにコピー&上書きで。
・bin/pfi
・lib/pfi.jar
・lib/aot/**
・(上書き)/templates/air/descriptor-template.xml

★手順2
iOS/build.p.xmlを設定。

★手順3
カレントディレクトリをiOSフォルダに移動(現状ansのみ)し、
antでans.ipaが生成されます。


現状、iPadで「櫻の樹の下には」が
プラグイン&フォントを必要としない部分では動作しています。
この二つは何らかの代替手段があるので、さほど問題ではないです。

が、文字表示と画面トランス、画面遷移が結構遅いです。カクカクしてます。
GPU使用で滑らかになりますがどうも表示が変(画面左上四分の一のみ表示される)。
ある程度はパフォーマンスチューニングでなんとかしたいですが、やはり根本的に重そう。

また個人創作がありますのでそろそろこちらの更新もスローに。たぶん。
不具合一つあるし、プログラム好きなのでついやりがちですが(笑)

更新:不具合修正とPackager for iPhone対応中

●リリース
Ans 2.22、 2.22、AIRNovel_SDK
2.22
 * chg:Packager for iPhone対応中
 * bug:[update_check]で更新がない場合にエラーになる不具合

Packager for iPhone対応中、切りが悪いので公開はもうちょっと先にします。


とは云え再現したい人も居るかもなので、
参考までにざっくり手順を公開。

●ansプロジェクトを複製し、an_sdkフォルダも配下に入れておく。
(ここではSDK/an_sdkとする)

●AIRNovel.asを以下に変更

import com.fc2.blog38.famibee.AIRNovel.MainThread;
import com.fc2.blog38.famibee.manager.EventListenerMng;
import org.libspark.thread.Thread;
import org.libspark.thread.EnterFrameThreadExecutor;

// スレッドを初期化
if (! Thread.isReady) {
Thread.initialize(new EnterFrameThreadExecutor());
}


const thMain :MainThread = new MainThread();
const me :Sprite = this as Sprite;
const cur :String = "app:/";
const cfg :String = "app:/config.anprj";

import flash.events.InvokeEvent;
const evtLisMng:EventListenerMng = new EventListenerMng();
evtLisMng.add(
NativeApplication.nativeApplication
, InvokeEvent.INVOKE
, function (e:InvokeEvent):void {
evtLisMng.clear();

thMain.init(me, cur, cfg);
}
);


●Flash CS5で「iPhone OSドキュメント」を作成、
フレーム1に以下のようなAIRNovel.asを呼ぶアクションを記入。

include "SDK/an_sdk/AIRNovel.as"


(ans.fla等としてFlash CSプロジェクトを保存)

画面サイズを対象の機器のサイズにする。
例えばiPhone4なら「960 px」「640 px」

iPad 1024 x 768
iPhone4 960 x 640
touch他 480 x 320


●iPhone OS 設定
「含めるファイル」に以下を追加。
ans.swf、ans-app.xml、config.anprj、mat(フォルダ)

デプロイとアイコンは「Packager for iPhone」関連の情報を参照し設定。

一万八百円のiPhone Developer Programを購入し、以下の手順を行なう。
・P12 証明書を準備
 Apple iPhone 証明書を Apple からダウンロードしたら、P12 証明書形式に書き出します。
 Adobe Flash Platform * P12 ファイルへの開発用証明書の変換

・プロビジョニングプロファイル
 Macなら/Users/(ユーザー名)/Library/MobileDevice/Provisioning Profiles/下にある、
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.mobileprovision
みたいなファイル。


●ActionScript 設定
ソースパスに「AIRlib/lib」「SDK/an_sdk」の場所を追加。

ライブラリパスに以下swcを追加。リンケージは全て「コードにマージ」。
Thread、TweensyZeroCS4、alcon、zip、textLayout
(textLayoutは追加せずパブリッシュし、わざとエラー→「追加しますか?」→「はい」が楽)

●パブリッシュするとans.ipaが生成される。
これをiTunes経由でiOS端末へインストール&実行。

パブリッシュするとans-app.xmlが生成されますが、以降は手変更も出来ます。
プロフィール

ふぁみべぇ

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

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