iPhoneアプリ カタカナれんしゅうちょう

  • 2011 年 3月 1 日
  • kosuke

カタカナの練習アプリも作りました。

カタカナれんしゅうちょう - nipx






iPhoneアプリ ひらがなれんしゅうちょう

  • 2011 年 2月 27 日
  • kosuke

ひらがなの練習アプリを作りました。packager for iphoneで作ったiPhoneアプリです。

ひらがなれんしゅうちょう - nipx

我が子の学習目的をかねて制作。ひとまず興味は示しています。
packager for iphoneはやはり重いので、なるべく軽くなるよう重いグラフィックや演出を避けてきたのですが、子どもが使うには若干ストイックな画面になっちゃったかも。でもまぁ勉強なんだと考えればそれも本来の姿だ。

beautiful people

  • 2011 年 2月 19 日
  • kosuke

beautiful people オフィシャルサイトのリニューアルでFlashをやらせていただきました。

beautiful people
http://www.beautiful-people.jp
ArtDirection / Design : Munehiro Machida.nssgraphica
HTML : Yuhei Takazawa , KOSUKE,Nakamura.nipx
Flash : KOSUKE,Nakamura.nipx

nssgraphica 町田さんからのお仕事。アートディレクション・デザインは町田さん。
HTMLのオーサリングはこちらも度々お仕事でお世話になっている高澤さん。僕はFlashとSHOPSのAjaxを担当しました。関係者みなさまお疲れさまでした。


iPhoneアプリ Design Clock TOKINOWA をリリースしました。

  • 2011 年 2月 18 日
  • kosuke

待ち受けFlashで人気のあった作品「刻ノ環」をiPhoneアプリにしました。卓上時計としてご利用いただけます。無料です。

TOKINOWA - nipx



この作品はTitanium Mobileを使って作りました。
Titanium MobileはJavaScriptを使ってiPhone、Android向けアプリを作る開発環境です。ティスクトップ向けアプリを作る為の環境もあります。

Flasher目線でみるとAdobe Airと思いっきり競合するわけですけど、iPhoneに関していえばほとんど全てのデバイス機能にアクセスするAPIが備わっており、UIKitを利用できる点でも現状のpackager for iphoneにない魅力があります。開発元のAppceleratorがAptanaを買収し今春にTitaniumとAptana Studioの統合製品をリリース予定など今なかなか注目を集めています。

今回はTitanium Mobileを試す、学習目的で作ってみました。
待ち受けで使ったデザインやリソースがありシンプルな時計アプリですので、Titanium Mobileのごく一部の機能を利用したのみですが、Titanium Mobileをダウンロードする時点からはじめて1日後にはほぼ仕上がっていました。もちろんその後こまかなバグフィックスに時間をようしましたけども。

使ってみてTitanium Mobile自体に不安定さがまだ残っているようにも感じましたが、学習コストが低く、アプリによってはかなり効率的な開発ができそうで、今後も楽しみな環境だと思います。

ProgressionでFlash Player判定後、無かったらリダイレクトする場合。

  • 2011 年 2月 9 日
  • kosuke

これよりもっと手前でコールバック関数に別のものを指定するなどでもよいですが、なるべく元のソースを変更せずリダイレクトするならprogression_unpack.jsの以下の部分を修正すればいいと思う。

progression_unpack.js

var complete = function( e ) {
	$p( $( "disabled_javascript" ), { style:{ display:"none" } } );
 
	if ( e.success ) {
		$render( config );
 
		var target = d.getElementById( config.attributes.id );
 
		if ( target ) {
			target.style.outline = "none";
			target.focus();
		}
	}
	else {
		//ここに追記
		window.location = 'リダイレクト先のURL';
		$css( "#" + config.htmlContentId, { display:"block" } );
	}
};

上の部分の修正をしてprogression.jsとして使えばOK。
このJavaScriptによる実行(JavaScriptによる判定、expressinstall.swf実行結果の正否)なので、JavaScript自体が無効の場合、リダイレクトしない。なのでリダイレクトの場合もhtmlにリンクを設置しておくべきでしょう。

iPhoneアプリ トイレの音消しアプリ ToiletTime をリリースしました。

  • 2011 年 1月 4 日
  • kosuke

トイレに入っているときの消音アプリを作りました。いわゆる音姫アプリ。
packager for iphoneで作ったiPhoneアプリです。再生時間を100件まで記録し平均時間を算出する少しジョークな機能がついています。サウンドを3つの中から選べます。

ToiletTime - nipx




ホリデーシーズン前に申請したのですが、直後にiTunesConnectの一時停止もあって予想通りというか今日やっと公開の連絡いただきました。

音の種類で凄くジョークなものを思いついたのですけど、多分審査通らないだろうなということで普通に使える流水音と鳥の鳴き声、ジョークでししおどしを選べるようにしました。

このアプリはAndroid版も作りました。
Flex SDK 「Hero」のコンポーネントを使わず作った場合、1ソースでどの程度iPhoneとAndroidに対応できるか試した部分もあるので時間があれば記事にまとめようかと思ってます。

Androidアプリ ToiletTime をリリースしました。

  • 2011 年 1月 4 日
  • kosuke

トイレに入っているときの消音アプリを作りました。
Air for Androidで作ったAndroidアプリです。iOS版も作っています。
アプリの内容はiOS版も同じなので次のエントリーで説明します。

ToiletTime


この投稿の続きを読む »

Happy New Year

  • 2011 年 1月 1 日
  • kosuke

今年の干支、兎です。普通過ぎたのでリーゼントにしました。昨年お仕事でお世話になったみなさまありがとうございました。3年目のニピクセル。今年もどうぞよろしくお願いいたします。

iPhoneアプリ Picasaを表示するデジタルフォトフレーム ni-frame(ニフレーム)をリリースしました。

  • 2010 年 12月 22 日
  • kosuke

packager for iphoneを使ってiPhoneアプリを作りました。
Picasaウェブアルバムを表示するデジタルフォトフレームアプリです。
packager for iphoneがRetina displayに対応していないという点を逆手にとって買い替えで不要になったiPhone3GとかiPodTouch第二世代などデジタルフォトフレームに活用してはいかがでしょうか。
表示するPicasaのアカウントとログインするPicasaアカウントを設定できるので友人や家族があなたに共有しているアルバムを表示できるように出来ています。

ni-frame - nipx





9月に規約が変更されたとはいえ、packager for iphoneで制作ということでちゃんとリリースまでたどり着けるのか半信半疑でしたが(実際別の理由で一度リジェクトされましたので)無事リリースできて良かったです。

使ってみてわかったことですがpackager for iphoneはまだまだ未熟な部分があって、UIKitに限らず利用できないiPhoneのAPIが沢山あるということ。たとえばメールアプリに添付するとか、カメラロールを参照するとか、カメラを利用するとか、え、これも実装されていないの?っていう部分が多いです。

これは単純に未完なのかもしれないし、Appleとの関係で実現できなかったのかもしれないし、まったく別の理由なのかもしれない。というのも興味深いと思うことがあって、airの1ソースで複数プラットフォームに対応という理念がandroid向けとも思えるair2.5ではクロスプラットフォームの基本は守りつつも、それに執着するよりは特定プラットフォームに特徴的な機能には専用のAPIを用意するような方針になってきていると思えること。
もしそうなら開発を再開した(という)packager for iphoneは今後どうなるんだろう?

いずれにしても特にUIパーツは1から作るのがあまりに効率的でないことが多いので、次期Flex SDKで採用されるモバイルプロジェクト用コンポーネントやクラスライブラリがそのままの形でiPhoneでも使えるようになるのか、iPhone用にUIKitへアクセスできるAPIが実装されるかなったらいいなと思う。希望的には両方実装してくれと願うが。

Appleがクロスコンパイラを禁止した時の理由の一つにサイドパーティの開発環境に依存して最新のSDKの機能がなかなか浸透しないといった理由がありましたが実際に使ってみるとその憂いも理解出来ると思った。反面、次期Flex SDKのandroid向け機能の完成度を見ると、そんなにFlashを嫌っていなければpackager for iphoneはもっと完成された状態だったんじゃないかと思えちゃうのだよね。

Appleは今も決して積極的にpackager for iphoneのような開発環境を良く思っているように思えないし、今だFlash Playerすら許可される気配すらないわけですけどいい加減利用できるようにしてもいいんじゃないでしょうかね…。
そしてadobeももう一度本腰をいれてpackager for iphoneを開発してくれたらなと思う。

なんでかっていったらiPhoneとandroidを比べたらやっぱりプロダクトとしてはiPhoneが数段好きだ、だけども開発はActionScriptで作りたい。俺は。

packager for iphoneでprogressionを使う時の俺的プロジェクト設定。

  • 2010 年 12月 14 日
  • kosuke

air 2.5の公開でandroidアプリ開発の話題が過熱する中、すっかり忘れ去られた感のあるpackager for iphoneですが最近いろいろ試しています。

packager for iphoneでは新しいFlex SDK Heroのmobile用クラスライブラリやコンポーネントが使えない上、iOSが元々備えるUIKitも使えない。
これはつまりボタンもスクロールバーもなにかもすべて1から自分で作らなきゃいけないってことを意味します。
といってもWebコンテンツだと大抵の場合ボタンやスクロールバーといったUIは毎回のように作ることが多い訳で普段通りだぜ!と思うのですが、スマートフォンアプリの場合、小さい画面ゆえの切り替えの多さ、タッチパネルゆえのユーザーアクションの多さ・煩雑さが相まってはるかに面倒です。
とくにHeroをかじった後なんかだとあらかじめ用意されているコンポーネントの有り難みがよく解る感じ。

さらにpackager for iphoneでは使えないiPhoneデバイス機能が沢山あって、これならandroidのほうがとか、似たような技術でもJSでUIKitにアクセスできるってことでこれまた旬な感じのtitanium mobileなんかのほうが魅力的だったりとか…。あちこちに目移りしてしまいますね。

で思うに比較していくと現状のpackager for iphoneはそれほど魅力的でないものになって行っちゃうので、使うなら普段作りなれているスタイルをそのまんま使って作るっていうメリットを十分に活かしていく感じがいいんじゃないかと。Heroのモバイル機能使って作るandroidアプリですら普段作りなれている方法っていうのと変わってくるんじゃないかなと思うところもありますので。

ということで、僕の場合ウェブコンテンツなら大抵の場合Progressionで囲っちゃうので、Progressionありきでpackager for iphoneのプロジェクトをセットアップする手順を書いておきます。

1)アプリケーション名でフォルダを生成。

2)Progression プロジェクトパネルから新規プロジェクトを生成。

基本タブ
プロジェクト名:アプリケーション名
書き出し先:先に生成したアプリケーション名のフォルダ
種類:クラス
プレイヤー:AIR 2.0
環境設定:AIRアプリケーション

Flashタブ
幅:320
高さ:480
フレームレート:12〜20(iPodTouch第2世代だと安定するのこのあたり)

ActionScriptタブ
メインクラス名:アプリケーション名
FlashBuilder(Eclipse)に対応させるにチェック

拡張ライブラリ
SWFProfilerにチェック(一応。実機確認ではStatsとか半透明で重ならないものがパフォーマンス低下少ない。)

3)Progressionが書き出したファイルをリネームなどする。

index.fla → アプリケーション名.fla

パブリッシュ設定を変更
形式タブ
Flashにチェック、../bin-debug/index.swf → アプリケーション名.swf

Flashタブ
Player:iPhone OS
ここで一度パブリッシュ設定を閉じる。

iPhone OS 設定
一般タブ
出力ファイル:アプリケーション名.ipa
アプリーエション名:アプリケーション名

デプロイタブ
.p12証明書、プロビジョニングプロファイルを設定
アプリケーションID:逆読みドメイン(jp.nipx) + アプリケーション名(プロビジョニングプロファイルに設定していれば自動的に入る。)

OKを押してパブリッシュ設定を完了。
bin-debugに、アプリケーション名-app.xmlが出来る。

4)FlashBuilderでプロジェクトを生成

ファイル / Flex プロジェクトを読み込み → プロジェクトフォルダの参照から生成したフォルダを指定 → 終了 → キャンセル(なぜか終了を押してもウインドウが閉じないので。)

パッケージエクスプローラーにプロジェクトが出来ているのでプロジェクトを右クリック。
プロジェクトタイプを追加または変更 → Flex プロジェクトタイプを追加 → 次へ(SDKは4.0以上を選択する) → 終了

再度プロジェクトを右クリック。
プロジェクトタイプを追加または変更 → Flex デスクトッププロジェクトに変換(Adobe AIRで実行)

プロジェクトのプロパティを設定。

Flex コンパイラー
非埋め込みファイルを出力フォルダにコピー、アクセス可能な SWF ファイルを生成する、警告を有効にする のチェックを外す。

Flex ビルドパス
ソースパスにlibsを追加。

5)ファイルの削除

プロジェクト、自動的にビルドのチェックを外す。
src内、mxmlとapp.xmlを削除。
bin-debug内のアプリケーション名-app.xmlをsrcフォルダにコピー。
bin-debugからアプリケーション名-app.xml以外削除。

アプリケーション名.asを右クリック。デフォルトアプリケーションに設定。

6)実行/デバックを設定をする。

プロパティ → 実行/デバックの設定

コマンドライン引数:-screensize iPod
プロファイル:mobileDevice

これでflaファイルからパブリッシュ出来るし、FBからデバック・実行可能です。
シンボルはflaファイルのライブラリに直接作るんじゃなくて、別のflaからswc書き出しするなり、Flexコンポーネントに書き出すなり、Flexのメタタグ使うなどして作る。flaファイルに直接作っちゃうとFBでデバックできなくなるので。お好みでlibsの中のProgressionの各パッケージを削除してswcファイルのProgression4_ext_AIR.swcに差し替えておくとSWFの書き出しが早くなる。

@