2014年9月27日土曜日

XCodeを複数入れる方法

複数のXCodeを使って運用したい時の方法です。

試した環境
・Mac OS X 10.9.5
・Command Linde Tools 5.0(6.0にアップデートしていません)
・既にXCode5が入っている

iOS Dev CenterからDownloadsの
「Looking for an older version of XCode?」をクリックし、
XCode6のdmgファイルをインストールします



dmgファイルをインストール後、Xcodeのファイル名をfinderからリネームします



今のところ、XCode5/6プロジェクトファイルの起動ビルド共に正常に
実行できます


2014年8月7日木曜日

Adobe AIR 15 Beta スプライトパフォーマンス検証

Adobe LabsでAIR15Betaが公開されました。
(リンク先へ)

1年程前に150個のスプライトアニメーションをNexus7(2012)で
表示するテストを行いました。


fpsは43程度でていました。

AIR15Beta + TEGRANOTE 7 + StarlingFramework 1.5.1を使用して同じ条件で
表示するテストを行いました。

fpsは60ほぼをキープしていました。ハードウェア性能の進化とAIRの進化には
まだまだ期待できると思います。

AIR15ではOpenGL ES3.0に対応するという事でさらに高速なグラフィックを表現する事にも期待できます。

追記

iPodTouch(第5世代) iOS7で上記と同じ条件で動作させてみました。
fpsは30を下回りました。モードはipa-app-store(アプリをリリースする状態)で
パッケージを行っています。






2014年3月16日日曜日

Tegra Note7の動作パフォーマンス

Zotac Tegra Note7でアプリのパフォーマンス調査として、動画を作成しました。
この端末は2013年12月頃発売したAndroidタブレットで、Tegra 4プロセッサ
搭載しています。

パズ億 〜世界一周編〜
Adobe AIRで開発されているという事で、動作を試してみました。
とても動作が軽く、完成度の高いアプリです。
アプリの開発を行ったICS社の記事 (リンク先へ)


WebGL Aquarium
ブラウザのWebGLを利用したデモで、魚の数が500匹で30fps程度出ていました。
今後のWebGLを利用したブラウザアプリも期待ができます。



Magic&Dungeon
私が個人でリリースしたAdobe AIRのアクションゲームです。
このゲームの開発を行った頃は、Nexus7(2012)等で動作テストをしていました。
その頃よりも動作パフォーマンスは上がったと思います。

2014年1月11日土曜日

AIR 4 BetaでiOSのビルド時間を計測しました

AIR 4 BetaのSDKを利用し、iOSへのビルドを行ってみました。


Download Adobe AIR (リンク先へ)

Flash Player 12 ベータと AIR 4 ベータの更新情報(リンク先へ)


ビルドを行ったマシンスペック
  • MacOS X 10.7.5
  • 2.7GHz Intel Core i7
  • メモリ8GB

以前作った簡単なパズルゲームのビルドを行ってみました。
ipaファイルになった時のファイルサイズは、3,819,255バイトです。

ビルド時の引数は
-target ipa-app-store
を指定しています。

今までかかっていたビルド時間を計測してみました。
AIR 4 Betaから導入された引数
 -useLegacyAOT no
を入れて、ビルドを行ってみると


かなり改善されました。
これは、今後期待のできる結果が出たのではと思います。

2014年1月8日水曜日

Adobe AIR 4.0とGAF Converter

Flash PlayerとAIR「Irving」および「Jones」
2つの次期バージョンのリリースをそれぞれ2013年後半と2014年前半に
予定しています。

Flashランタイムのロードマップ (リンク先へ)

主な機能
  • デスクトップFlash PlayerおよびAIRのOSX Mavericksのサポート
  • iOSのパッケージ時間の大幅な削減
  • モバイルでのActionScriptの同時使用(ベータ版)
  • iOS 7のサポート(Appleのスケジュールによる)
  • Windows 8.1 PlayToのサポート
  • Windows 8.1のタブの扱いの改良
  • Windows Internet Explorer 11のバックナビゲーションキャッシュのサポート
  • AIR AndroidでのXXHDPIアイコンのサポート
  • Mac OS Xにpkgインストーラーをバンドル(現在は.dmg)
  • Android 4.4 (KitKat)への対応

この中でも特に注目しているのは
  • iOSのパッケージ時間の大幅な削減
です。現在、iOSでビルドを行うと早くても数十秒かかります。
企業でリリースするようなボリュームのあるアプリを作成した場合は、数分という単位に
なってしまう可能性があります。これは、開発作業の中で大きなボトルネックになるでしょう。


もう1つ注目している技術で、GAF Converterというものがあります。
これは、FlashアニメーションをStarling Frameworkで利用できるという事で
ソーシャルゲームの演出を作成する時に効果を発揮すると思います。
gafmedia.com (リンク先へ)

最近ではFlash/AIRの最新情報が少ない事や、企業でFlash/AIRを採用する事が少なくなってしまった為、私自身も距離を置いていますが、2014年以降もFlash/AIR共にアップデートを続けていきます。

Flash/AIRでの開発案件のご相談をお受け致します。
Twitterアカウント (リンク先へ)
E-Mail連絡先 (リンク先へ)

2013年7月24日水曜日

DragonBones 入門

DragonBones 概要とインストール(リンク先へ)
動作環境やインストールまでの手順を記載しました。

DragonBones サンプルを使ってみる(リンク先へ)
DragonBones_Tutorial_Assets/DragonBones_tutorial_Start.flaより
データをインポートし、利用方法までを記載しました。

DragonBones アニメーションデータを利用する(リンク先へ)
FlashBuilderライブラリプロジェクトサンプルプログラムを使って
利用しました。テクスチャの切り替え方法も記載しました。

DragonBones アニメーションデータを利用する

FlashBuilderを利用してソースコード上からDragonBonesのデータを利用します。
ライブラリプロジェクトファイルの作成

プロジェクトファイル内にサンプルコードを入れる

DragonBonesライブラリプロジェクトの作成と、サンプルを試す為のプロジェクトファイルを作成します。

ライブラリは、DragonBones2.2SkeletonAnimationLibraryから
サンプルプロジェクトは、DragonBones_Tutorial_AssetsCodeより取り込みました。


サンプルプロジェクトのビルドに成功すると、歩行しながらアニメーションしたり、ジャンプするドラゴンの操作ができます。


テクスチャの切り替え
次にドラゴンの着ている服任意の操作やタイミング切り替えると言う処理を行なってみます。

サンプルDragonBones_Tutorial_ChangeClothes.flaより、服がレイヤーに追加されています。
変更したい服をライブラリ内のpartsclothes1からclothes4まで追加します。

では、DBStarlingClothes.asから実際に切り替え処理を行う方法を見てましょう。

private var textures:Array = ["parts/clothes1","parts/clothes2","parts/clothes3","parts/clothes4"];
ライブラリの階層と同じように、clothesの配列を作成します。
var _textureName:String = textures[textureIndex];
var _image:Image = factory.getTextureDisplay(_textureName) as Image; 
StarlingFactoryクラスgetTextureDisplayを利用する事で指定のテクスチャを取得します。

var _texture:Texture = assetManager.getTexture("clothes"+(textureIndex+1).toString());
var _image:Image = new Image( _texture );
また、flaファイルを利用せず外部テクスチャを利用する方法としてAssetManagerからTextureを利用する事が可能です。

DragonBones サンプルを使ってみる

DragonBones 2.2のファイルにあるDragonBones_Tutorial_Assets/DragonBones_tutorial_Start.flaを使ってみます。

ライブラリ 

タイムライン 

シーンに配置されたドラゴン

DragonBonesのアニメーションデータを構成する上で大事な2つの用語があります。

アーマチュア(Armature)
上記サンプルではDragonになります。
アーマチュアは、スケルトンの管理とアニメーションを担当します。

ボーン(Bone)
上記サンプルではDragonarmLlegL等の各パーツになります。
ボーンはソースコード内でも制御(回転処理やその他色々)ができるようになっています。

では、このデータを実際にImportしてみます。


ウィンドウメニューのエクステンションよりDragonBonesDesignPanelを選択します。

DragonBonesDesignPanel
DragonBonesDesignPanel起動後、ImportよりAll Library Itemsという選択状態になっている事を確認して、OKボタンを押します。

ライブラリ内にあるアニメーションデータがDragonBonesのフォーマットとして作成されます。この中でアニメーションのタイミング調整や、データのエクスポートを行います。

Behavior Listの<<をクリックすると、上記のような設定が行えます。

Total Times:アニメーション運動の終了時間

Blending Times:アニメーションから別のアニメーションに移行する時の時間(ここはよく解っていませんので、間違っているかもしれません)

Keyframe Ease:モーション内のキーフレーム間のEase値

Loop:アニメーションのループ


エクスポート
データのエクスポートでは、Zip(XML and PNG)形式の他に、PNGメタデータ内にアニメーションデータを含める事で、使用するソースコード内でPNGファイル1つを読み込むだけでアニメーションを利用するといった事もできます。

DragonBones 概要とインストール

DragonBonesはFlash Professional(CS6以降)を利用したアニメーションツールです。StarlingFrameworkとも連携ができます。


今回は以下の条件で試してみました。
Adobe Flash Pro CC (リンク先へ)
Adobe Extension Manager CC (リンク先へ)
Adobe FlashBuilder 4.6
DragonBones 2.2 (リンク先へ)


作業は大きく2つに分けると、アニメーションデータ作成ソースコード組み込みがあります。

アニメーションデータ作成
Flash Proffesional(CS6以降)で行う作業
1.タイムラインでアニメーションを作成
2.DragonBonesDesignPanelに作成したアニメーションをImportする
3.DragonBonesDesignPanelでアニメーションの調整を行う
4.DragonBonesDesignPanelExportからデータを書き出す

ソースコード組み込み作業
1.書きだしたアニメーションデータインポートして使用する

DragonBonesを使用する方法ですが、DragonBones 2.2ダウンロードファイル内にあるDragonBonesDesignPanel.zxpAdobe Extension Manager CC経由FlashProCCにインストールする事で使用が可能になります。

Adobe Extension Manager CCを利用して、DragonBonesDesignPanelをインストール


2013年7月11日木曜日

ApplicationVerificationFailed エラーについて

FlashProCCを利用してairForiOSのパブリッシュを行う時に
こういうエラーが出る時があります

Installation Error: ApplicationVerificationFailed.

このエラーはiOS デジタル署名を付けた時に証明書のファイルやアプリケーションIDに
ミスがある場合に表示されます。このエラーの説明だけだとわかりにくい気がします


確認1:iOS Provisioning ProfilesのApp ID:の項目がAIR for iOS設定のアプリケーションIDと同じかチェックする。

確認2:キーチェーンアクセスのiPhone Developerから書き出した証明書である事。
また、書き出し時のパスワードとiOS証明書のパスワードが間違っていないかチェック
する。

こちらも合わせてお読み下さい

Installation Error: ApplicationVerificationFailed
(リンク先へ)