ラベル AIR の投稿を表示しています。 すべての投稿を表示
ラベル AIR の投稿を表示しています。 すべての投稿を表示

2010年11月8日月曜日

iOSアプリ検証日誌 8

できたこと

Accelerometerの値を取得してみた。
加速度ベースのジェスチャ(シャッフルでアンドゥ、等)はAPIには入っていない。
ざっと検索してみたけれど、(当然ながら)AS3の加速度ベースジェスチャ認識ライブラリっていうのはない。
本当に必要になったら、他の言語のライブラリを移植することになるんだろうな、という感じ。
(自分で実装するのは、難しすぎて割に合わなさそう。。)
今日は本当に取得値をトレースしてみただけなので、次は傾きでボールが転がるORジェスチャ時の値をグラフ表示するアプリでも作ってみるか。

Geolocation APIの値を取得してみた。
以下、計測値など。
--
▼屋内
latitude:35.67654243384615
longitude:139.78036281307692
altitude:0
horizontalAccuracy:65
verticalAccuracy:-1
heading:(デバイスによる。時計回りでの360度での角度またはNaN)
speed:-1

まず緯度経度について、とりあえずGoogleMapsで確認すると、きちんと計測できていることが確認できる(測地系や値の形式が同じなので、何も考えなくてもいい)

誤差について、mから度数に換算してみました。
・緯度
誤差65mのとき、緯度1度単位での誤差は、0.00058432=(65m/緯度一秒の距離30.9m)/3600。
・経度
誤差65mのとき、経度1度単位での誤差は、0.00072222=(65m/緯度一秒の距離25m)/3600。

verticalAccuracy, speedの-1は、ActionScriptのリファレンスには記述がないけれど、CocoaTouchのリファレンスによると、有効な値が取得できていない状態らしい。
altitudeの0も、有効な0ではないと思われる。

▼屋外
latitude:35.676447216
longitude:139.7806502833
altitude:20.712448120117188
horizontalAccuracy:47.42168335498
verticalAccuracy:70.28100138
heading:(デバイスによる。時計回りでの360度での角度またはNaN)
speed:徒歩だとほぼ0。車などでは変わるかもしれない。


イベントの来るタイミングに、かなりばらつきがある。
屋内では更新の頻度が落ちる傾向にある。何分も更新されないこともある。
屋外では、ほぼ毎秒に1回更新される。
(値の更新間隔をセットすることはできるが、主に頻繁に更新される状況を防ぐ意味のものなので、
Geolocationにおいては実装に使う必要があまり感じられない。)


▼その他参考

それにしても、屋内なのにとても正確に位置がわかるのに驚いてしまう。

▼詳しくは

ジャイロ
iPhone4にはジャイロセンサがついているけれど、AIRのAPIはないですね。


▼後で見る
・MAX2010の講演資料(カメラ、GPS、加速度)
(もう見た)加速度onモバイルデバイスのまとめ(2008)

iOSアプリ検証日誌 7

CameraUIクラス、というデバイス標準のカメラ制御アプリを使えるAPIがAIR2.5からできたらしい。
iOSでは使えないけれど。静止画および動画のキャプチャができるとのこと。

開発者向けリリースノート
ユーザ向けリリースノート

2010年11月2日火曜日

iOSアプリ検証日誌 5

できたこと
テキスト、およびバイナリ形式でのファイルの保存と読み込み。
Loaderによる画像の読み込み。

所感
検証、というか、トピックとして残している点は、次の2つ。

ビデオまわりの読み込み、および再生
読み込んだSWFに含まれるアセットの利用

とりあえず流して、時間があればやるリストに入れるか・・・。

iOSアプリ検証日誌 4

できたこと

タッチ入力について
  • TouchEventは利用できる。最大タッチポイント数は5.
  • 接触領域の広さ(sizeX, sizeY)、および接触圧は取得できないよう。すべて常に1となる。
ローカルファイルストレージについて
ApplicaitonDirectoryは
/var/mobile/Applications/[16進8桁]-[16進4桁]-[16進4桁]-[16進4桁]-[16進12桁]/[App名].app
ApplicaitonStorageDirectoryは
/var/mobile/Applications/[16進8桁]-[16進4桁]-[16進4桁]-[16進4桁]-[16進12桁]/Library/Application Support/[AppID]/LocalStore
にそれぞれ存在する。
16進数の部分はAppごとに異なる。

モバイルアプリに必要な機能を最初から提供してくれるらしい、試したいですねえ。

2010年10月29日金曜日

iOSアプリ検証日誌 3

できたこと

DeviceCentralについて
DeviceCentralは、通常のFlashコンテンツ作成時に使用する。AIRアプリのプレビューおよびデバッグはADLで、という形。
DeviceCentralのデバッガ機能はいろいろ便利そうだけど、ADLには同じような機能はないのかなあ?
(やったこと:Device CentralでiPhone, iPad, ついでにGalaxy Sのデバイスプロファイルをダウンロード。
Apple製品にはAdobe, Apple製のプロファイルはないので、どこかの誰かの作成したものをDL。)

iPad, iPhone, iPodTouchで使えるジェスチャイベント
  • ズーム
  • パン
  • 回転
  • 2本指タップ
  • スワイプ
パフォーマンス
背景などを複雑な画像にすると一気にパフォーマンスが落ちる。

アプリの識別
アプリケーションは、アプリケーション名でもipaファイルのファイル名でもない何かで一意に識別されている。app.xmlの中の値なのかな。

アイコンを付ける


できていないこと

リファレンス、ローカルのものの場所はどこ?


今後調べたいこと
(もう誰かがやってないかをまずチェックすること)

  • 使えるAPI, 使えないAPIの確認
  • (各種ASライブラリがどれくらいい使えるのか)
  • ハードウェアアクセラレーションの検証

2010年10月28日木曜日

iOSアプリ検証日誌 2

できたこと


Developerメンバー登録
Macでの秘密鍵、署名要求の生成、開発者証明書のインストールなど

テスト時のアップデート

  • パブリッシュ設定でバージョンを上げれば、それを認識してくれて、iTunesに読み込み直してデバイスを同期すれば、アプリもアップデートしてくれる。


1点操作での移動、スワイプ

  • マルチタッチを有効にしているとき、1点での操作はマウスイベントとして取得する。
  • スワイプは、多点ではなく、1点のときの操作でイベントが発生する。


マルチタッチでのパン、ズーム、回転

  • (当然だが)ズームはどこまでも拡大縮小してしまうので、一定以上大きく/小さくなり過ぎしすぎないようにする。
  • ズームは、2本の指の距離の変化の倍率を取得しているよう。つまり、はじめに2本の指の距離が短ければ、ズームした距離は短くても、すごく大きくズームされてしまう。逆に、はじめの2本の指の距離が広ければ、ズームの割合は小さくなる。前者は結構驚いてしまうので、対策が必要か。
  • (当然だが)回転の中心点を適切に設定するのを忘れずに。とりあえず中央にしておけばそんなに違和感はない。


デバイスを回転したときのステージのフィット

  • まだ要確認だが、おそらく「起動時の縦横比」で設定した方が、常に画面に対して100%になるようになっている。


できていないこと

  • Windowsでの証明書等の作成
  • FlashDevelopのコード補完の設定

その他
  • 既存ライブラリの活用の可否は、モバイル環境で使用できるAPIと使用できないAPI(たとえばAIRのNativeWindow関連など)があるため、使用できないAPIを含まないライブラリなら使える、ということになる。各ライブラリの対応を待つ形になるのでは。
  • コンパイルに時間がかかる。仕方ないとは思うけれど、デバイスにインストールしないとデバッグもできないので、かなり面倒。

2010年10月5日火曜日

AIR File I/O

難しいことは特にない。
File, FileStreamを使うだけ。

http://journal.mycom.co.jp/series/air/006/index.html