大きい画面に合うように、アプリケーション内ブラウザを修正しました。Profileの更新。Certificateの更新もそうですが、ときどきやる事なので、必要な時にはいつもやり方を忘れています。Profileの更新を、Xcode4.5のOrganizerから行う方法を解説します。Developmentの新作ゲーム、『ごはんよそって』がリリースされました。iPhone5発売日と同じ日に...。仕事が忙しいと、ついついコンビニ弁当食になりがちですよね。お弁当ばかりだと元気がでません。ごはんのよそい方まで忘れそうです...。そこで、ごはんのよそい方を練習する物理ゲーム、「ごはんよそって」の登場です!もう、安心!ゲームの進め方ゲームの進め方は簡単、お茶碗の上に「ごはん粒」と「梅干し」を載せていくだけです。ごはんをよそうスピードを見る「時間点」。梅干しの位置を見る「梅干し点」。ごはんの左右バランスを見る「ごはん点」。以上3つの得点を合計したものでランキングを競います。梅干しがこぼれそう!よそった「ごはん」は画像化されて、Twitterで得点とともに投稿することができます。タイトル画面からも「最近のごはん」として確認することができます。BLASTをリリースしましたポンッ!が爽快。Newsstand機能を使っていないのに、OrganizerのValidationでエラーが出たらTweetNewsstandの機能を使ってもいないのに、Validationで下図のようなエラーが出てしまった場合、Info.plistのiOS5用のアイコン設定を疑ってみましょう。CCARRAY_FOREACHを使ってCCNodeを走査するTweetcocos2dでは、CCNodeを継承したCCLayerやCCSpriteを使って、画面を構成していきます。今回は、CCARRAY_FOREACHを使って、CCNode(CCLayer)階層にある、特定のスプライトクラスにアクセスする方法を解説します。頻繁には使いませんが、使い方を知っておくと、便利なこともあると思います。多数決という遊びTweetかなり昔、TVのアニメの話しで、地球に住むすべての生物に、神様が願いをひとつだけ叶えてあげようというのがありました。多い願いが、採用されるというものです。人間は、愛とか平和云々(うろ覚え)とか言い出して、俺たちってなんて寛大なんだろうと、自分自身にウットリしていた矢先、全人類が消えました。人間以外の生物たちが願った事は唯一つ「人間を消して下さい」。チンパンジーのパン君のニュースを見てたら、ふと、こんなことを思い出してしまいました。CS6で、横長楕円パスを、おはぎ型に変形する方法を解説します。「楕円形ツール」で横長の楕円形を作成します。Camワールドも広がってきた感じがします。ver.2.0ポンッ!が爽快。連絡先がソート異常を起こした時の対処法Tweet先日、iPhoneから電話をかけようと連絡先アプリを見たのですが、何故かいつもと違って、相手の名前を探しづらい。ん〜?と思って、よく見ると、全ての連絡先が「#」にまとめられていました。Infoに表示されない時の対処法Tweet古いiOSプロジェクトを、新しいXcodeでオープンすると、アプリのアイコンがTargetsのSummaryで確認できない時があります。実機上でアイコンは表示できているので、このままアプリをSubmitしても問題が起きたことはありません。そのまま放っておくのも気持ち悪いので対処してみました。ver.2.2を準備中です。アップデート内容は以下のようになる予定です。新しいぬいぐるみを2体追加!鼻の回転が魅力なゾウの《エレファン君》バナナの妖精《バナナっ娘》ぬいぐるみの色変更を簡単に!ダンス画面(プレイグラウンド)で、ペイント缶が出現する条件を緩和しました。パペットを何度かタッチしているとペイント缶が上から降ってきます。そのペイント缶をドラッグして、ぬいぐるみに押し付けると、押し付けたところの色が変わります。新しいぬいぐるみ達もクレーンゲームに登場させることができます。楽しみにお待ちください。ver.2.0ポンッ!が爽快。バージョン4.4.1がリリースされました。更新内容は以下のとおりです。金マシーン登場!『金魚すくって』バージョン2.0Tweet『金魚すくって』のバージョン2.0がリリースされました。画面をタッチして金魚すくいができるゲームです。金マシーン搭載!今バージョンから、金魚の種類が大幅に増えて、全部で16種類にもなりました!金魚の種類は「ガチャ金マシーン」で増やすことができます。金魚をすくうと「ガチャ金ポイント」が貰えますので、そのポイントを使って「ガチャ金マシーン」にトライできます。《まだ見ぬ金魚たちの影...。金魚すくいゲームをリリースしました。BLASTをリリースしましたポンッ!が爽快。4.4でファイルをローカライズしようとしたら、4.2とインターフェースが変わっていました。Localized...」ボタンが表示されるようになっています。Lionにアップグレードしました。XcodeとMacPorts絡みで少しハマりましたが、その他は、あまり心配していたような影響は出ておりません。Finderのフォルダアクションの設定もそのまま引き継がれています。それと、テキストエディット.appがちょっと頭良くなってました。今回は、開発ツール絡みで少しハマったところを書いてみたいと思います。BLASTは、ブロック崩し型のゲームです。全50ステージ用意されたピクセルアートを、さながら、かき氷のようにゴリゴリ崩していきます。64秒以内に全てのピクセルを崩すと、ボーナス得点が貰えます。最後の1ピクセルも逃さずに崩して下さい。100%再利用を目指せ!崩されたピクセルは、カケラとなってカラフルに飛び散ります。そのカケラは、操作するパドルで吸収する事ができ、アイテムエネルギーとして再利用されます。ゲームルールも、とうとうエコ化へと進みました。エネルギーゲージが最大になると、アイテムが出現します。アイテムには複数の効果がありますので、お楽しみ下さい。その他特徴マニュアルレスで理解できるゲーム性。CenterのLeaderboard、Achievementに対応。スピーディな展開とサウンド。金魚すくいゲームをリリースしました。「金魚すくって」ポンッ!が爽快。IDがロックされ、パスワードの再設定を求められました。Annieが原因だったようです。Connectからのデータ収集を停止しています。AnnieはiPhoneアプリのダウンロード数やランキングの分析にとても便利なので、これからも頑張って欲しいサービスです。Storeにて配信中です。バージョン2からは、作成したぬいぐるみたちをクレーンゲームに登場させることができるようになりました。ぬいぐるみとの「なかよし度」を上げておくと、キャッチ成功した時の得点がアップします。今までどおり、ダンスさせることもできます。かわいいぬいぐるみを作って遊んで下さいね。Camがリジェクトされてしまいました。PurchaseでNon-Consumableなアイテムを購入したお客様に対して、別デバイスなどからリストアできるように、リストアボタンが用意されていないというものでした。リストア機能は、再度、購入ボタンを押してもらえれば、2重課金にならずに済むようになってはいるのですが、お客様にとっては2重課金されないかな?と不安に思うのはもっともなので、このリジェクトは致し方無いです。同様の実装でも、リジェクトされる場合とされない場合があり、この辺りの審査はいつも微妙です。今回は、リストアボタン実装中に、ひとつハマりポイントを見つけたので書いておきます。gitignoreを忘れた事に随分あとで気づいたらTweet僕は、Xcodeでは版管理にGitを使用しています。新規プロジェクトを作成した後、.gitignoreファイルを作り忘れて、何度もコミットした後になって「あっ!」と気づくことが、わりとよくあります。一度、版管理の対象としてしまったファイルは、後から.gitignoreファイルに記述しても無視されません。結局、Prefabってなんなのよ、という人のための解説TweetPrefabの基礎PrefabとはAssetのひとつで、エディター上で作ったGameObjectをあとから再利用するために使います。Viewに表示されます。Prefabをシーン階層(Hierarchy)にコピーすることを、一般にインスタンス化すると言います。シーン階層にコピーすると、プレイ中に表示させることができるようになります。金魚すくいゲームをリリースしました。touch用ゲームを新しくリリースしました。夏を目前に、涼しげな金魚すくいゲームを作りました。制限時間内に、なるべく多くの金魚をタップ(すくう)して下さい。ニセモノの金魚が混じっています。ver.2.0ポンッ!が爽快。Cam」のバージョン2を開発中です。Camを開発し始めた頃は、まだ開発ツールも充実していなかったので、いろいろ模索しながらの開発でした。実際、開発に時間ばかりかかってしまい、色々改善したいところはあれど、あまりダウンロードもされなかったので、モチベーションが上がらなかったのが正直なところ。バージョン2の開発では、PhysicsEditorという味方を得て、新しいぬいぐるみの作成が大分楽になりました。作成したぬいぐるみを活躍させる場が少なかったので、新たにゲームモードを追加して、ぬいぐるみ達に登場してもらう事にしました。登場まで、もうしばらくお待ち下さい。指定エリアの中にあるGameObjectを探る方法Tweet以前の記事で、iTweenでモーションパスに沿ってボールを飛ばし、箱に当てるデモを作成しました。Editorで楽々モーションパス制作このデモでは、強引な方法で箱を吹き飛ばしていました。モーションパスでボールを動かす勢いで、箱を押し出していました。今回は、もうちょっとスマートに箱を吹き飛ばしてみたいと思います。将来Actionエディターになるかもしれない。期待大のCocosBuilderTweetCocosBuilderは、cocos2dでの開発をサポートするGUIエディターですが、どちらかといえば静的なUI・シーンの作成が主だった印象を受けていました。先ごろ、今後のバージョンアップの方針として掲げられたのが、Actionエディターとしての立脚です。CS6体験版を使用して、ループパターンを作成してみたところ、不具合が見つかったのでまとめてみました。Illustratorについては、あまり使用経験がないので、CS6以前からある不具合かもしれません。使用法が間違っているのかもしれません。その際は、ご指摘頂けると助かります。Fontsはオープンソースのフォント集で、ブラウザ上でのフォントのレビューがとにかく便利です。やり方は、気に入ったフォントを複数選択して、Reviewボタンをクリックするだけ。あとは下図のように、選んだフォントを並べて表示してくれます。Editorを使うのが楽です。マウス操作で直感的にモーションパスを作成できます。基本的な操作方法は、以下のビデオを見ると理解が早いです。iTweenを使ってパス移動する方法TweetUnitien(造語)に、iTweenは必須ですね!?GameObjectを決められたパスに沿って移動させることができる、iTweenという便利なアセットがあります。今回はランダムに生成したモーションパスに沿って、GameObjectを移動させてみました。Unity2012年5月24日木曜日ポンッ!が爽快。「ダイコン抜いて」本日無料配信Tweet「ダイコン抜いて」が、とうとうリリースされました!人生で一度は体験しておきたいダイコン抜き!引き抜いた時の「ポンッ!」という音が爽快なんです。すばやくダイコンを引き抜いて、爽快感を味わってみて下さい。でっかいダイコンは得点が高いけど、抜くのも大変ですよ〜。遊び方ダイコンが横にスクロールするので、ストップボタンを押して止めて下さい。ダイコンを抜くには、指を下から上へ、素早く繰り返しスライドさせます。合計得点が計算されます。同じ形のダイコンを連続で抜くと、高得点が得られます。変な形のダイコンたちが多数登場します。おまけのミニダイコン劇場もお楽しみ下さい。Builderという、ゲームロジックをスクリプトではなくGUIで開発していくアセットが面白そうです。Builderは、GameObjectにBrainというコンポーネントをアタッチして、ゲームロジックやAIを実現させます。Transform.LookAt()の回転軸を制限するTweetGameObjectの向きを別のGameObjectの方へ向かせるには、LookAt()という便利な関数が存在します。Vector3型を渡す方法gameObjA.transform.LookAt(gameObjB.transform.position);こうすることでgameObjAの「前」が、gameObjBの方へ向きます。スクリプトからMainCameraにアクセスする方法TweetスクリプトからMainCameraにアクセスする方法を試してみました。Unityでは、以下の2つの方法が一般的なようです。ダイコン抜いてTweet「ダイコン抜いて」の配信日が決定しましたのでお知らせいたします。touchアプリ「ダイコン抜いて」を5月24日に無料配信いたしますので、下記の通りお知らせいたします。「ダイコン抜いて」は、ダイコンを引き抜くゲームです。すばやくダイコンを引き抜くと高得点!同じ形のダイコンを連続で引き抜くと、更に高得点!変な形のダイコンたちが多数登場します。おまけのミニダイコン劇場もお楽しみ下さい。Radish)価格:無料サポートサイト:http://hamken100.com/garbage/iphone/speedyradish/jp/プレス用画像キットhttps://picasaweb.google.com/hamken1/wWZUbF?authuser=0&feat=directlinkよろしくお願いいたします。Unityアセット9選TweetUnityを使っていると、次々とすばらしいアセットがリリースされて、その情報を追いかけるだけでも大変です。こんな格安で!?といったような事にならないようにしたいですね。なると思いますけど...。今回はそんな中、気になるUnityのアセットたちをまとめてみました。v2.1.1を入れましたが、デバッグ描画用のクラスGLESDebugDraw(GLES-Render)が未対応のままでした。v2.1.1用に修正したのでシェアします。3分で覚えるキーボード入力スクリプトTweetUnityのキー入力回りは、意外とごちゃごちゃしています。使いたい人向けにまとめてみました。Managerの中でマッピングされています。Fire1はデフォルトで左のCTRLキーと、ジョイスティックのボタン0にマッピングされています。オブジェクトが何者かをC#的に知る方法TweetUnityを始めたばかりだと、このプロパティが指してるオブジェクトは何だろう?というような状況が良くあります。そんな時にリファレンスを調べるのを回避して、デバッグプリントしてしまう方法もあります。GameObjectに追加されているスクリプトから、rendererが何者なのか調べてみます。以下のスクリプトをStart()関数などに入れて実行します。Debug.Log(renderer.GetType().FullName);実行結果は以下。ConsoleにMeshRendererと表示されました。GameObjectの非表示2つの方法と削除TweetGameObjectをスクリプトから、一時的に非表示にする方法を試してみました。Unityでは、以下の2つの方法が一般的なようです。MeshRendererをdisableにするSetActiveRecursively()でdeactivateするMeshRendererをdisableにする例として、以下のようなスクリプトをGameObjectに追加します。描画をしないだけなので、Update()関数は呼ばれ続ける。}}rendererはGameObjectが保持しているMeshRendererオブジェクトです。このenabledをfalseにすると、描画が行われなくなります。表示がされないだけで、Update()関数はコールされ続けます。実行中のConsoleログを見ると、count変数が表示されるのが確認できると思います。Random.Range()の範囲がfloatとintで違うTweetUnityのRandom.Range()で乱数を生成する場合の注意点。以下のように、floatバージョンとintバージョンがあります。int;しかし、floatとintの場合では、max値の扱いが違うようです。Retina画像をフォルダアクションで一括コンバート(3)Tweet前回からの続きです。前回では、Retina画像を一括コンバートするフォルダアクションを作成しました。今回は、そのフォルダアクションを実行テストしてみます。前回作成したフォルダに、適当なRetina画像ファイルをコピーしてみます。僕はDaikon@2x.pngというファイルを、RetinaConvertFolderにコピーしました。以下のような結果画面が出れば成功です。OK以外のボタンを押しても何も起こりませんので、素直にOKを押してウィンドウを閉じて下さい。Retina画像をフォルダアクションで一括コンバート(2)Tweet前回からの続きです。前回は、フォルダアクションを作成する準備まで解説しました。今回はいよいよフォルダアクションを作成します。Automator起動まずはAutomatorを起動して、新規フォルダアクションを作成します。Retina画像をフォルダアクションで一括コンバート(1)TweetiPhoneアプリ開発でRetina画像(@2x)から、縦横半分にした非Retina画像を用意するのには、比較的手間がかかります。1個1個の手間は大したこと無くても、ファイルが数十〜百個単位になったり、フォルダ階層が複雑になったりすると、コンバートのし忘れなど、ヒューマンエラーが問題になります。プログラム担当俺、サウンド担当俺、グラフィック担当俺、というインディーアプリ開発者にとっては、これらの作業は自動化しておきたいものです。今回はRetina画像を、非Retina画像にコンバートするフォルダアクション作ってみます。「ダイコン抜いて」をリリースしますTweetiPhoneの新作ゲーム「ダイコン抜いて」を、本日、Appleに申請しました。「ダイコン抜いて」は、ダイコンを引き抜くゲーム。すばやくダイコンを引き抜くと高得点!同じ形のダイコンを連続で引き抜くと、更に高得点!変な形のダイコンたちが多数登場します。おまけのミニダイコン劇場もお楽しみ下さい。ImageMagickとPhotoshopTweet次に出すiPhoneゲームでは、Retinaディスプレイに対応を予定しています。大変なのは、非Retinaディスプレイ用に、縮小画像を用意しなければならないことです。CS6ベータとImageMagickで、縮小画像を比べてみました。バージョン1.3を申請しました。1〜2週間以内でリリースされると思いますので、しばらくお待ちください〜。更新内容は以下の通りです。全ての右脳くんを獲得するまで、同じ右脳くんに変身しないようにしました。正解すると紙吹雪が出るようになりました。<初級>スコア表示をローカライズしてみようTweetゲームでスコア表示する時に「1000点」とか「1000pts」など、言語環境によって変えたい時があります。これらはどうやって実現するのでしょうか?iOSでしたら、NSString:stringWithFormat:で文字列を生成する時のフォーマットを、ローカライズしておくのが一番でしょう。今回はCocos2dのテープレートのHelloWorldプロジェクトを修正して説明します。アプリの通知をOFFにしたつもりだったのに早朝起こされた場合TweetもしあなたがiPhoneをお持ちなら、思わぬタイミングのアプリの通知で、びっくりしたことがあるかもしれません。それが深夜や早朝ぐっすり眠っているタイミングだったり、しかも、どうでもいいような内容の通知だったりした時のやるせなさ。設定アプリからアプリ毎の「通知センター」をOFFにしておけば、もうそんな通知に悩まされることはないのだと、僕は長らく思っていました。Fontsはオープンソースのフォントで、GoogleのAPIを使えば、フォントファイルをダウンロードする事無く、簡単に自分のWebページに導入できます。Webページでの使用のほか、印刷、ダウンロードしてコンピュータに組み込むのも自由で、商用でも無料で使用できます。詳しくはこちらをご覧ください。Fontsを使って表示しているテキストです。Bloggerの記事の中に強引に入れてみましたが、やりすぎるとフォントのロードで重くなるので、通常はこういった使用法はしない方がいいと思います。SVGが表示可能のアセットRageToolsTweetRageSplineの作者が開発した新たな2Dベクタードローコンポーネントがアセットストアに登場したようです。IllustratorやInkscapeで出力したSVGファイルを、画面に描画できるようになります。Flasherとしては期待してしまいます。このRageToolsを動かすには、別にRageSplineが必要という事ですので、導入の際には注意して下さい。Unity2012年5月1日火曜日MarsEditをBloggerで。moreタグの注意点Tweet名だたるブロガーが愛用しているというMarsEditを試用中です。実は二度目の試用なのですが、一回目は使い方がよく分からずに挫折。読んでみて、もう一度試してみる気になりました。MarsEditはBloggerにも標準で対応していますが、投稿記事にmoreタグを仕込んでいる人は注意が必要です。マップアプリのUIについて考えたことTweet長い間の謎がひとつ解けました。iPhoneのマップアプリには地図を回転させる機能がついていた!(笑)ごくまれに、「地図が自分の向いている方向に同調して回転する」モードになって、何これ便利!とか思ってましたが、どうやってやればいいのか分からず、どうしてそうなったのかも分からない。緊急性もなかったので、そのまま放置していました。GenericsTweetGameObjectが保持している特定のコンポーネントにC#スクリプトからアクセスする書式をまとめてみました。例として、myScriptというコンポーネントをGameObjectにアタッチしている場合を想定します。JavaScriptでは以下のような感じ。メモリ不足に陥ったらResourcesクラスのアンロードを試してみるTweetResources.Load()で読み込んだデータは、そのデータを使用していたオブジェクトが削除されても、再利用する時のためにキャッシュに残る仕組みになっているようです。PCなどの比較的メモリが多いマシンで実行する時には問題が起こりにくいですが、スマートフォンなどのデバイス上だとメモリが足りなくなり、問題が起こるケースもあるようです。Resourcesフォルダが複数ある時の読み込みテストTweetUnityではResourcesフォルダ内にデータを入れておくと、スクリプトからデータの読み出しがResources.Load("dataname");で行う事ができます。リファレンスには、Resourcesフォルダは複数持つ事ができると書いてあります。試しに以下のようなフォルダ構成にして、データを読み込むテストをしてみました。それぞれのResourcesフォルダ内にあるBlockPrefab2とBlockPrefab3をインスタンス化するコード(C#)は以下のようになります。Prefabをスクリプトからインスタンス化する」に対して、@rin_himawariさんからResourcesフォルダの中にPrefabを入れておけばスクリプトから簡単に呼び出せるよ、とツイートで教えて頂いたので、その辺りのことを調べてみました。public宣言したBeePrefabに、InspectorからPrefabを指定する必要がありましたが、その必要がなくなります。Resourcesフォルダを作成して、以下のような構成でPrefabデータを格納しました。/Resources/Prefabs/Beeスクリプトは以下のように変わります。Prefabをスクリプトからインスタンス化するTweetスクリプトからGameObjectを動的に生成するには、UnityではPrefabというAssetを準備して、そのPrefabをInstantiate関数を使ってインスタンス化するのが一般的なようです。ゲームを作るなら、この辺りの仕組みを最初に覚えてしまった方がいいでしょう。リファレンスマニュアルにはJavascriptのサンプルコードが付いていますが、残念ながらC#版は見られませんでした。この記事の後半に僕が作成したC#のサンプルコードを掲載しておきます。いつもお世話になっている以下のサイトを参考に、スクリプトをC#で書きなおしてみました。書こうとすると、初心者には途方に暮れてしまうことがありますが、関数名はそのままでコンバートすれば、だいたい大丈夫なようです。Scriptフォルダーの注意点Tweet仕事でUnityを使う機会が増えそうなので、最近少しずつ勉強してます。Unityで扱うスクリプトを格納するフォルダにはいくつか制約があり、どこにでも入れていいのだろうと思っていると引っかかります。以下、英語マニュアルから抜粋してみました。未検証の部分もあり、間違ったところがありましたら教えて頂けると助かります。HamkenDevelopMac,iPhoneのネイティブアプリ開発。Flashアプリの開発をやっています。このブログを検索マイアプリPOLYZANTHショート・ショート・ゲームの迷宮リラックス。ゲームをクリアすれば、先へ進むことができます。じきに慣れるでしょう。Rebirth程よいランダム感で繰り返し遊べます。iOS版:https://goo.gl/pLxhgEAndroid版:https://goo.gl/IjxKhB右脳でございます記憶力の鍛錬をしながら「右脳くん」キャラクターを収集。新トレーニングも追加しました。iOS版:https://goo.gl/AOEtYzAndroid版:https://goo.gl/MAocZU不安なさかな不安症な魚がよみあげる短歌を楽しむアプリです。してらんない動きまわる文字から、単語を読み取るゲームです。金魚すくいゲームをリリースしました。将来Actionエディターになるかもしれない。iTweenを使ってパス移動する方法ポンッ!が爽快。SVGが表示可能のアセットRageToolsMarsEditをBloggerで。(13)人気の投稿iPhoneのメッセージの吹き出しが突然青から緑になったらiPhoneのメッセージが便利すぎて、最近、iPhone同士の相手とはメールをほとんど使わなくなりました。GameObjectの非表示2つの方法と削除GameObjectをスクリプトから、一時的に非表示にする方法を試してみました。Unityでは、以下の2つの方法が一般的なようです。Unityアセット9選Unityを使っていると、次々とすばらしいアセットがリリースされて、その情報を追いかけるだけでも大変です。いったような事にならないようにしたいですね。