2011ハマケン100%開発アプリ開発。4、ライブラリ、ツール類について。Storeにてお目見えしました。両対応のユニバーサルアプリです。使用して作ったアプリです。ダウンロードのほど、よろしくお願いします。最初の10万本は無料です。アプリとなりましたが、まだ、詰めが甘いところがありました。以下の対応言語のところなんですけど、チェコ語とか、ポルトガル語、スウェーデン語だなんて、ずらりと列記されてますが、言語リソースとして入ってるのは英語と日本語だけ。(笑)何でこんなことになってるのか、今のところまだ分かりません。CS5.5のパブリッシュで、デフォルトで設定されてるのでしょうか?それから、チェコ語でズッコケGuysって、どう翻訳すればいいんでしょうね?(笑)どなたか教えて下さい。何はともあれ、念願かなってリリースされましたので、とりあえずはメデタシメデタシです。CS5.5でデバイスの回転に対応したiOSアプリのムービープレビューでひっかかったところがあったので書いておきます。Player上で行われるのではなく、adlというプログラム上で行われます。adlはモバイルデバイスの90°単位の回転に対応しています。CS5.5から実行した時に、少し連携がとれてない所があるような気がしました。設定パネルの「起動時の縦横比」を横長モードにした時に、adlでは縦長モードとして起動しているような気がします。ムービープレビューした時に、一見、正常に動作していると思っても、回転コマンドを送ってみると整合性が取られていない事に気づかされました。何か他に見落としている所があるかもしれませんが、ムービープレビューでのデバッグが面倒くさいので、基本、縦長モードにしておくことにしました。デバイスに転送した時は正常に動作するので、リリース用パブリッシュをする時に変更するのもありかもしれません。iPad(仮)」で計測してみました。アプリは最大30フレームで動作するように設定しています。計測デバイスは初代iPadです。結果は以下のようになりました。frame非ビットマップというのは、ネコなどのムービークリップをシェイプのまま使用しているという意味です。ビットマップは全て実行時にビットマップにする方法をとっています。ActionScript3で、以下のように記述しています。2.7の描画速度最適化の恩恵が得られると思っていたのですが、計測結果が表すようにそうではありませんでした。公式発表にもCPUレンダリングモード時と書いてありました。計測結果を見ると、ビットマップ化してGPUでレンダリングするのが一番速いのがわかります。2.7の違いは無いようです。シェイプタイプのムービークリップをビットマップ化するタイミングですが、今回の実験のように実行時に行うと、レンダリングの結果がCPUモードとGPUモード時で結構変わってしまうことが分かりました。CPUモードで実行時ビットマップレンダリングGPUモードで実行時ビットマップレンダリングステージのレンダリングクオリティはどちらともデフォルトの設定のままなので、以下の設定と同等だと思われます。StageQuality.MEDIUM;この事を踏まえると、ビットマップ化は実行時にするのでは無く、パブリッシュ時に行ってしまう方が、映像のクオリティ的には良いと思われます。2.7が出てから1ヶ月ほどが経ちます。2.7で一番気になっていたのは、iOS上の描画機能最適化です。何と言っても描画速度が4倍になったということなんで、これは期待せずにはいられません。YouTubeなどでも描画速度比較デモが披露されており、それを見る限りでは期待しても良さそうです。iPad(仮)"の開発中に、やっぱり動作が重くて厳しいよ。SDKをインストールしました。CS5.5で開発を行ってSWFを書き出しているので、その辺りの連携も含めて書いてみたいと思います。SDKのダウンロードhttp://www.adobe.com/jp/products/air/sdk/圧縮ファイルを展開して、適当なフォルダに入れる展開したフォルダの中にあるbinフォルダにパスを通す(この後に使うadtコマンドをフルパスなどで指定するならパスは通さなくても良いです。xmlns="http://ns.adobe.com/air/application/2.7">と書き換えます。xmlのファイル名を(flaファイル名)-app-2.7.xmlとかに変更して保存します。CS5.5で2.6に書き戻される可能性があるので)ターミナルを起動して、SWFファイルのあるフォルダへ移動しますadtコマンドでパブリッシュターミナルコマンドは例えば以下のようになります。adtコマンドへパスが通ってない場合は、フルパスか相対パスにして下さい。証明書とそのパスワード、プロビジョニングプロファイルはご自身のものを指定して下さい。ipaファイルが生成されますので、これをiTunesを使ってデバイスへ転送します。-targetオプションはipa-testの他に以下のものが設定できるようです。Store配布用ipa-debugデバッグ情報を含むパッケージipa-test最適化やデバッグ情報を含まずにコンパイルされたパッケージipa-debug-interpreteripa-debugと同等。コンパイル時間が短くなる。ipa-test-interpreteripa-testと同等。コンパイル時間が短くなる。cocos2dを少しづつ触り始めていますが、なんというか、やはり楽です!cocos2dの魅力は、iPhoneゲーム開発者を一生懸命サポートしようとする考え方が、フレームワーク開発者やコミュニティに溢れているようなところでしょうか。只今、第4章を終了したところです。クラスの組み合わせはとても便利で気に入りました。Hieroは以下のページからダウンロードできます。JavaアプリケーションなのでMac、Win両方で大丈夫でしょう。出力されるPNGファイルが、OpenGLに準拠しているためか、上下逆さになっているので元に戻してやる必要があるようです。こんな風になってるので元に戻してやります。地味にめんどうなんですけど。なるまでは、cocos2dを積極的に利用していく機会が多くなるかもしれません。Lionが発売されたようです。スクリーンセーバー」を利用してくれている方から、さっそく動作報告を頂きました。その方によりますと「Lion上でスクリーンセーバーの動きが鈍くなっている」とのことでした。書きましたが、スクリーンセーバー起動時のパワーセービングがより強化された可能性はあります。後者だとすると、スクリーンセーバーでは、あまり複雑なことはするなというのがAppleの方針なのかもしれません。iOSでアプリ名をローカライズTweet急激に寒くなってきたので、ちょっと体調を崩してしまいました。みなさんもお気をつけて。storeに申請しました。レーティングの点で不安要素がちょっとあるので、リジェクトされなければいいなぁ。今回は、アプリ名を英語と日本語で分けたかったので、その辺りの事を調べました。iOSでアプリ名をローカライズするには、(flaファイル名)-app.xmlという設定ファイルをテキストエディタなどでいじれば可能です。here</text></name>-->デフォルトで上記のように記述されている箇所があると思います。お分かりのように、上記のコメントを外して必要事項を書き込みます。ちなみに、enは英語、frはフランス語、jaは日本語です。その他の国コードもありますので、それぞれ必要な国を追加してください。ズッコケGuysの場合は下のようにしました。部分は削除することでしょうか。これがあるとパブリッシュ時にエラーがでます。設定」パネルのアプリケーション名が空欄になってしまいます。これはフェイクで、ちゃんとアプリ名は保持されているので安心してください。最後にズッコケGuysをiPadで実行させたムービーをご紹介。Foreverというオリジナル曲です。(笑)このあたりの話しは、またそのうちに。iOSを使う利点の一つとして、画面サイズの違いを吸収してくれるというところがあります。iOSというか、Flashの利点なのですけどね。ブラウザにSWFファイルをドラッグアンドドロップしてから、ブラウザの大きさや縦横比を変えた時のFlashの見え方を思い出して頂ければ分かりやすいと思います。iPhone/iPadの解像度は以下のようになっています。・・・768x1024iPhoneだけで考えれば縦横比は一緒なんですが、iPadは1:1.333と縦横比が変わってしまいます。ネイティブアプリ開発時は、フレームワークのUIだけを使っていれば、それほど困ることは無いかと思いますが、OpenGLを使っている2Dゲームアプリの場合だと、マルチ解像度対応は意外と面倒くさいので、フレームワークやライブラリやらがスクリーン解像度の違いを吸収してくれるととても楽です。ズッコケ4人もiPadに対応させてみました。Flashの威力のおかげで、スクリーンの上下に黒帯マスクを追加するだけで対応は済みました。あと、iPhone4よりも、若干iPadの方がフレームレートが上がりました。ベクタータイプのムービークリップをビットマップ化するタイミングには注意が必要です。パブリッシュする前にビットマップ化してしまうと、当然ながらその解像度で固定されてしまうので、大きなスクリーンで表示すると、引き伸ばされて画像が汚くなってしまう可能性があります。ベクターグラフィックをビットマップ化するのは、ActionScriptからも指定できます。これだと実行時にビットマップ化されて便利なのですが、デバイスによってその効果の程はまちまちなようです。PCでは効果が無いというか、逆に遅くなった体験が過去にあります。ビットマップ化するよ、というフラグです。ビットマップ化(レンダリング)する時の基準となる変換マトリクスで、通常は上記のように単位マトリクスを指定するようです。ご覧になると良いと思います。鋭意製作中Tweetいやー、今日も暑い。超絶な太陽ビームが降り注ぐなか、お年寄りが杖を突きながら外を歩いてました。全アスファルトをひっペがしたい気分です。最初は動作テストで始めたプロジェクトでしたが、やり始めるとつい熱中してしまいます。今日はずいぶん作業を進めることができました。Flashだとアートワークをしながらの開発も、結果がすぐプレビューできるので楽しいです。幅広い年齢層にプレイしてもらうため、アルコール表現を極力抑えております。iOSでアプリを完全に終了させる方法Tweetズッコケ4人のオープニング画面は、なんとなくこんな感じに...。CS4から実装された3D回転を使ってみました。3D効果でなんとか高級っぽく!って思ったけど、なってねぇ〜!iOS4になってから、サードパーティアプリにもマルチタスク化の対応が求められるようになりました。サスペンド処理のどちらかにする必要があります。アプリがプロセス終了を選択していると思います。iOSでアプリをパブリッシュすると、デフォルトではサスペンドするようになっています。これだと知らず知らずのうちに、多くのリソースがメモリに残ってしまうアプリを量産してしまう可能性があります。これをスイッチひとつでプロセス終了仕様に変更したい!のですが、世の中そうなってないのが悲しいところです。修正には、XMLファイルに設定を追記する必要があります。FlashからiOSアプリをパブリッシュするのには、SWFファイルと、各種設定用のXMLファイルが必要となります。なって自動生成されます。このXMLをテキストエディタなどで開きます。]]></InfoAdditions>中にこんなような記述があると思いますが、CDATAの中に次のように新しい設定を加えます。<key>UIApplicationExitsOnSuspend</key><string>YES</string>と書いてありますが、これだと何も変化が無かったので注意してください。iPhoneの可能性TweetFlashをCS3から一気にCS5.5へバージョンアップしました。iPhone上で動くアプリをFlashで作っちゃおうというものです。プロジェクトをほとんど変更なしに、Android用アプリとしてもパブリッシュできるそうで、Apple的には認めたくないでしょうが、こういったオーサリングソフトやフレームワークが、今後ますます求められてくるのでしょう。今まで作ったFlashがiPhone上でどれだけの速度、クオリティで動かせるのかを試してみました。よっぱらい企業戦士たちに、お疲れ様と感謝の気持ちを込めて作ったアプリです...。Box2Dを使っており、CPUパワーもかなり使います。全てデフォルトでパブリッシュし、iPhone4上でテストしてみましたが、、、まったくアニメーションしない...。あっ!よく見ると少しずつ動いてる...。いうような、あまりにも残念な結果になりました。グラフィックのレンダリングにGPUを使わせるというオプションがあり、かつシェイプ(ベクター)グラフィックをすべてビットマップにして書きだすと高速化させることができるとの事で、それをやってみると、なるほど秒間10フレームぐらいまで高速化できました。StageQuality.LOW;に変更すると、シェイプグラフィックのレンダリングが汚くなりますが、高速化できるようです。この品質はビットマップグラフィックには影響しないようです。その後、Box2Dの演算の精度を落としたり調整を繰り返して、だいたい秒間15フレームまで出るようになりました。PC上では秒間30フレームで動かしていたので、まだまだ、もっさりした速度ですが、使いようによっては使えるかな?という感じにはなりました。ズッコケ4人は、何かもうちょっと付け足して、iPhone用アプリとして申請してみる予定です。Purchaseの対応がどうなるのか、まだまだ不安な面があります。拡張は考えていない簡単なアプリを作るには、便利なオーサリングツールであることは確かです。今までつくってきたFlashアプリが、ほとんど変更もなしにスマートフォン用アプリに変身させる事ができるかもしれません。一度試してみる価値はあるかもしれませんよ。iOS2011年7月13日水曜日Macでスクリーンセーバーが市民権を取り戻すのはいつなのかTweet僕はMac,Windows用スクリーンセーバーを長らく開発&公開してきましたが、Macのスクリーンセーバー事情には、このところ芳しく感じておりません。スクリーンセーバー開発において、過去メインにつかってきたツールはFlashでした。いうツールのLiteバージョンが無料使用でき、その性能も高かったのです。Leopardになってから状況は変わりました。スクリーンセーバー上で走るFlashの動作が、著しく速度低下を起こすようになりました。Liteバージョンで作成したMac用スクリーンセーバー、CocoaのWebViewを使ってFlashを再生させた場合、両方とも同じでした。WebViewに至っては、スクリーンセーバーモジュール上でのみFlashの動作が遅くなった覚えがあります。Composerでも起こっているからです。Composer上でコンポジションをフルスクリーンで動作させる時よりも、スクリーンセーバーモジュールとしてフルスクリーンで動作させた時の方が動作がカクつきます。Leopardのスクリーンセーバー起動時は、CPUなどのパワーセービングを行っているのではないかと推測します。Leopard以前のOS上で、重い処理のスクリーンセーバーが起動すると、CPUファンがフル回転を始めて、とてもエレガントとは言いかねる状況が多々起こりました。パソコンを使用していない時の方が電力を使う、というのも変な話しなので、これは致し方ないことなのかもしれません。僕としては、こういうパソコンを使っていない時こそ、もっといろいろ楽しいことをパソコンから見せることができるのにと思っています。コーヒー飲んで休憩してる時、部屋にあるパソコンから何やら楽しげな映像や音が飛び出してきたら、思わず仕事も忘れてホッとしますよね。Ver.1.2を公開してます。http://www.hash.rojo.jp/garbage/mac/huwapoka/今回の追加・変更点は5つほど。開発中、プログラムの先祖帰りを起こしてしまって、書き直したりしました。用事のある日の朝方、ちょっと空いた時間に作業をしようと思って、あわててたのがいけなかったのでしょう。きれい好き(?)が災いしたか、Macのゴミ箱を空にした後にその事に気づきました。HamkenDevelopMac,iPhoneのネイティブアプリ開発。Flashアプリの開発をやっています。このブログを検索マイアプリPOLYZANTHショート・ショート・ゲームの迷宮リラックス。ゲームをクリアすれば、先へ進むことができます。じきに慣れるでしょう。Rebirth程よいランダム感で繰り返し遊べます。iOS版:https://goo.gl/pLxhgEAndroid版:https://goo.gl/IjxKhB右脳でございます記憶力の鍛錬をしながら「右脳くん」キャラクターを収集。新トレーニングも追加しました。iOS版:https://goo.gl/AOEtYzAndroid版:https://goo.gl/MAocZU不安なさかな不安症な魚がよみあげる短歌を楽しむアプリです。してらんない動きまわる文字から、単語を読み取るゲームです。Ver.1.2人気の投稿iPhoneのメッセージの吹き出しが突然青から緑になったらiPhoneのメッセージが便利すぎて、最近、iPhone同士の相手とはメールをほとんど使わなくなりました。GameObjectの非表示2つの方法と削除GameObjectをスクリプトから、一時的に非表示にする方法を試してみました。Unityでは、以下の2つの方法が一般的なようです。Unityアセット9選Unityを使っていると、次々とすばらしいアセットがリリースされて、その情報を追いかけるだけでも大変です。いったような事にならないようにしたいですね。