長い間の謎がひとつ解けました。
やっぱり、iPhoneのマップアプリには地図を回転させる機能がついていた!(笑)
ごくまれに、「地図が自分の向いている方向に同調して回転する」モードになって、何これ便利!とか思ってましたが、どうやってやればいいのか分からず、どうしてそうなったのかも分からない。
特に緊急性もなかったので、そのまま放置していました。
2012年4月28日土曜日
2012年4月26日木曜日
Unity: Resourcesフォルダが複数ある時の読み込みテスト
UnityではResourcesフォルダ内にデータを入れておくと、スクリプトからデータの読み出しが
リファレンスには、Resourcesフォルダは複数持つ事ができると書いてあります。
試しに以下のようなフォルダ構成にして、データを読み込むテストをしてみました。
それぞれのResourcesフォルダ内にあるBlockPrefab2とBlockPrefab3をインスタンス化するコード(C#)は以下のようになります。
Resources.Load("dataname");で行う事ができます。
リファレンスには、Resourcesフォルダは複数持つ事ができると書いてあります。
試しに以下のようなフォルダ構成にして、データを読み込むテストをしてみました。
それぞれのResourcesフォルダ内にあるBlockPrefab2とBlockPrefab3をインスタンス化するコード(C#)は以下のようになります。
Unity: ResourcesフォルダからPrefabを読む
先日の記事「Unity: Prefabをスクリプトからインスタンス化する」に対して、@rin_himawariさんからResourcesフォルダの中にPrefabを入れておけばスクリプトから簡単に呼び出せるよ、とツイートで教えて頂いたので、その辺りのことを調べてみました。
Unity: Prefabをスクリプトからインスタンス化する では、public宣言したBeePrefabに、InspectorからPrefabを指定する必要がありましたが、その必要がなくなります。
まずResourcesフォルダを作成して、以下のような構成でPrefabデータを格納しました。
Unity: Prefabをスクリプトからインスタンス化する では、public宣言したBeePrefabに、InspectorからPrefabを指定する必要がありましたが、その必要がなくなります。
まずResourcesフォルダを作成して、以下のような構成でPrefabデータを格納しました。
/Resources/Prefabs/Beeスクリプトは以下のように変わります。
2012年4月25日水曜日
Unity: Prefabをスクリプトからインスタンス化する
スクリプトからGameObjectを動的に生成するには、UnityではPrefabというAssetを準備して、そのPrefabをInstantiate関数を使ってインスタンス化するのが一般的なようです。
ゲームを作るなら、この辺りの仕組みを最初に覚えてしまった方がいいでしょう。
リファレンスマニュアルにはJavascriptのサンプルコードが付いていますが、残念ながらC#版は見られませんでした。
この記事の後半に僕が作成したC#のサンプルコードを掲載しておきます。
ゲームを作るなら、この辺りの仕組みを最初に覚えてしまった方がいいでしょう。
リファレンスマニュアルにはJavascriptのサンプルコードが付いていますが、残念ながらC#版は見られませんでした。
この記事の後半に僕が作成したC#のサンプルコードを掲載しておきます。
2012年4月24日火曜日
Unity: iOS上でGUILayout.Labelのフォントサイズを大きくしたい
フレームレートを表示する目的で GUILayout.Label を使用しています。
いつもお世話になっている以下のサイトを参考に、スクリプトをC#で書きなおしてみました。
強火で進め - [Unity][Unity3d]FPSの値を変更する方法
いつもお世話になっている以下のサイトを参考に、スクリプトをC#で書きなおしてみました。
強火で進め - [Unity][Unity3d]FPSの値を変更する方法
using UnityEngine; using System.Collections; public class Startup : MonoBehaviour { int count = 0; float t = 0; string fpsInfo = ""; public GUIStyle fpsStyle; // Use this for initialization void Start () { } // Update is called once per frame void Update () { t += Time.deltaTime; ++count; if (t>=1.0) { fpsInfo = "fps: "+count; t = 0; count = 0; } } void OnGUI() { GUILayout.Label(fpsInfo,fpsStyle); } }※ネット上にある Unity のサンプルスクリプトが Javascript で書かれてることが多いので、C# で書こうとすると、初心者には途方に暮れてしまうことがありますが、関数名はそのままでコンバートすれば、だいたい大丈夫なようです。
2012年4月23日月曜日
2012年4月20日金曜日
2012年4月14日土曜日
iOS: UITableViewを使って横スクロール型画像ビュアーの実装
UITableView を横スクロールさせる画像ビュアーを作ってみましょう。
UITableView の横スクロール方法は多くの方が語られておりますが、今回はちょっとした Tips も含めて書いてみました。
UITableView は基本的に縦スクロールしか機能がないので、その View を90度回転させてやることで横スクロールを実現させます。
その際、UITableView を直接90度回転させるのではなく、UIView の上に UITableView を載せ、その UIView を回転させるのがコツです。
そうしないと UITableView のタッチ検出がうまくいかない時があるそうです。
以下のサイトを参考にしました。
UITableViewを回転して横スクロールする際のタッチのエラーと対策方法 | Zero4Racer PRO Developer's Blog
なお今回のサンプルプロジェクトは ARC を使って実装してみました。
UITableView の横スクロール方法は多くの方が語られておりますが、今回はちょっとした Tips も含めて書いてみました。
UITableView は基本的に縦スクロールしか機能がないので、その View を90度回転させてやることで横スクロールを実現させます。
その際、UITableView を直接90度回転させるのではなく、UIView の上に UITableView を載せ、その UIView を回転させるのがコツです。
そうしないと UITableView のタッチ検出がうまくいかない時があるそうです。
以下のサイトを参考にしました。
UITableViewを回転して横スクロールする際のタッチのエラーと対策方法 | Zero4Racer PRO Developer's Blog
なお今回のサンプルプロジェクトは ARC を使って実装してみました。
2012年4月13日金曜日
ArtPig: cocos2dエクスポート可能! タイムラインベースのオーサリングツール
cocos2d でゲーム開発をしていて、キャラデモを作成したいとなると、どうしてもタイムラインベースのオーサリングツールが欲しくなります。
いわゆる Flash CS のようなツールが cocos2d 用に欲しいと思い、自分で作ろうかなと思っていた矢先、ArtPig というエディターの存在を知りました。
Mac App Store から購入できますが、Lion でないと購入できませんでした。
まだ Snow Leopard を使っている僕としては、はやく Lion にアップデートしなければという焦りが徐々に高まってきました。(今開発中のアプリをリリースすれば!)
しかし、ArtPig のサポートサイトと覗くと無料の Lite 版がダウンロードできるようになっています。
それを落としてみると、Snow Leopard でも問題なく起動させることができました。単にサポートが Lion のみという事なのでしょうか。
英語ですがチュートリアルのビデオが用意されており、サンプルデータも提供され、cocos2d 側の組み込みライブラリも準備されて、なかなか良さそうです。
しかし、少し使っていると、疑問が湧いてきました。
いわゆる Flash CS のようなツールが cocos2d 用に欲しいと思い、自分で作ろうかなと思っていた矢先、ArtPig というエディターの存在を知りました。
Mac App Store から購入できますが、Lion でないと購入できませんでした。
まだ Snow Leopard を使っている僕としては、はやく Lion にアップデートしなければという焦りが徐々に高まってきました。(今開発中のアプリをリリースすれば!)
しかし、ArtPig のサポートサイトと覗くと無料の Lite 版がダウンロードできるようになっています。
それを落としてみると、Snow Leopard でも問題なく起動させることができました。単にサポートが Lion のみという事なのでしょうか。
英語ですがチュートリアルのビデオが用意されており、サンプルデータも提供され、cocos2d 側の組み込みライブラリも準備されて、なかなか良さそうです。
しかし、少し使っていると、疑問が湧いてきました。
2012年4月11日水曜日
coco2d: 1.0.1から1.1 beta2への入れ替え方法
cocos2d 1.1 beta2 の CCLabelBMFont が Unicode 対応になった事だし、そろそろ 1.0.1の既存プロジェクトを 1.1 beta2 で動くかテストしてみたいと思う方も多いでしょう。
cocos2d のインストールとは、つまり Xcode へ cocos2d 用のテンプレートをインストールするということです。
残念ながら、複数バージョンの cocos2d のテンプレートを Xcode にインストールする方法は示されておりません。
これができると安心なんですけど、そうもいかないので、テンプレートを上書きインストールして、問題があったら 1.0.1 をインストールし直すのがいいようです。
今回は、既存プロジェクトを 1.1 beta2 に入れ替える方法を解説します。
cocos2d のインストールとは、つまり Xcode へ cocos2d 用のテンプレートをインストールするということです。
残念ながら、複数バージョンの cocos2d のテンプレートを Xcode にインストールする方法は示されておりません。
これができると安心なんですけど、そうもいかないので、テンプレートを上書きインストールして、問題があったら 1.0.1 をインストールし直すのがいいようです。
今回は、既存プロジェクトを 1.1 beta2 に入れ替える方法を解説します。
2012年4月9日月曜日
iOS: LeaderboardのScore Format Type
iOS の GameKit.framework で、Leadeboard へスコアを送信する時には int64_t (long long)型を使用します。
この型は、Leaderboard の Score Format Type に Elapsed Time タイプを選んでようが、Fixed Point タイプを選んでいようが同じです。
例えば Elapsed Time - To the Second タイプを選んでいる場合、123456 を送信すると、12:34:56 と表示されます。12時間34分56秒という意味です。
しかし、Elapsed Time - To the hundredth of a Second タイプを選んでいる場合、先の値だと 00:12:34.56 と表示されます。0時間12分34秒56という意味です。
また、int64_t 型を NSUserDefault に保存しようとすると、ダイレクトに保存するメソッドが無いので、一旦、NSNumber 型に変換してやらないとなりません。
この型は、Leaderboard の Score Format Type に Elapsed Time タイプを選んでようが、Fixed Point タイプを選んでいようが同じです。
例えば Elapsed Time - To the Second タイプを選んでいる場合、123456 を送信すると、12:34:56 と表示されます。12時間34分56秒という意味です。
しかし、Elapsed Time - To the hundredth of a Second タイプを選んでいる場合、先の値だと 00:12:34.56 と表示されます。0時間12分34秒56という意味です。
また、int64_t 型を NSUserDefault に保存しようとすると、ダイレクトに保存するメソッドが無いので、一旦、NSNumber 型に変換してやらないとなりません。
Unity: RageSplineが面白そう
2DベクターグラフィックライブラリRageSplineが、Unity Asset Storeで4/8まで$25のセール中でした。
僕はもともとFlash好きな人間なので、ベクターグラフィックでゲームやアプリを作ったりしていました。
最近の iPhone アプリ開発ではビットマップデータを使用する事が多かったので、こういうライブラリが Unity で出てきてくれると、何か作りたくなってしようがないです。
問題は、iPhone上での実行速度なのですが、こちらの方は今のところ情報を得られていないです。
とりあえず、セール中にゲットできたので、時間のあいまに触ってみようと思います。
関連のある記事
僕はもともとFlash好きな人間なので、ベクターグラフィックでゲームやアプリを作ったりしていました。
最近の iPhone アプリ開発ではビットマップデータを使用する事が多かったので、こういうライブラリが Unity で出てきてくれると、何か作りたくなってしようがないです。
問題は、iPhone上での実行速度なのですが、こちらの方は今のところ情報を得られていないです。
とりあえず、セール中にゲットできたので、時間のあいまに触ってみようと思います。
関連のある記事
2012年4月8日日曜日
60日間無料でPhotoshop CS6パブリックベータ体験
Photoshop CS6 パブリックベータが公開されています。
無料で60日間、もしくは5月31日までフル機能を試用できるので、Photoshopを持っていない人も、または古いバージョンを使用している人も、この機会に最新のPhotoshopを試してみるチャンスです。
今まで試用期間というと30日が一般的でしたが、今回60日もあるというのは嬉しいですね。
Adobe Photoshop CS6 パブリックベータ提供開始
上記サイトから「Photohop CS6 パブリックベータ版ダウンロード」というボタンをクリックすると、ダウンロードページへ移行します。
そこで、Mac版かWindows版を選んで下さい。
無料で60日間、もしくは5月31日までフル機能を試用できるので、Photoshopを持っていない人も、または古いバージョンを使用している人も、この機会に最新のPhotoshopを試してみるチャンスです。
今まで試用期間というと30日が一般的でしたが、今回60日もあるというのは嬉しいですね。
Adobe Photoshop CS6 パブリックベータ提供開始
上記サイトから「Photohop CS6 パブリックベータ版ダウンロード」というボタンをクリックすると、ダウンロードページへ移行します。
そこで、Mac版かWindows版を選んで下さい。
2012年4月7日土曜日
cocos2d: CCLabelBMFontのUnicode対応
cocod2d 1.1 beta2 では、CCLabelBMFont が Unicode をサポートしてくれました。
Change Log: version 1.1 beta2 - 12-Mar-2012に、以下のように書かれています。
以前から、GlyphDesignerで日本語文字はエディットできました。
しかし 1.1以前の cocos2d で表示しようとすると、実行時にクラッシュしてしまいます。
本当にサポートされたのか、1.1 beta2 を使って、自分の現行プロジェクトで試してみました。
Change Log: version 1.1 beta2 - 12-Mar-2012に、以下のように書かれています。
- [FIX] CCLabelBMFont: full unicode support
以前から、GlyphDesignerで日本語文字はエディットできました。
しかし 1.1以前の cocos2d で表示しようとすると、実行時にクラッシュしてしまいます。
本当にサポートされたのか、1.1 beta2 を使って、自分の現行プロジェクトで試してみました。
2012年4月6日金曜日
cocos2d 1.1からのグラフィックサフィックス設定方法
coco2d 1.1 beta2 を導入しました。
1.1以前は Retina ディスプレイ用のグラフィックファイルのサフィックス名は、ccConfig.h 内の CC_RETINA_DISPLAY_FILENAME_SUFFIX で定義していました。
しかし、1.1以降では CCFileUtils クラスの setiPhoneRetinaDisplaySuffix メソッドで設定するように変更されています。
デフォルトでは -hd がサフィックスとして定義されているので、これを @2x に変えてやるには、
1.1以前は Retina ディスプレイ用のグラフィックファイルのサフィックス名は、ccConfig.h 内の CC_RETINA_DISPLAY_FILENAME_SUFFIX で定義していました。
しかし、1.1以降では CCFileUtils クラスの setiPhoneRetinaDisplaySuffix メソッドで設定するように変更されています。
デフォルトでは -hd がサフィックスとして定義されているので、これを @2x に変えてやるには、
[CCFileUtils setiPhoneRetinaDisplaySuffix:@"@2x"];と設定します。
Google Analyticsのクエリパラメータ除外
Google Analytics を活用していますか?
なかなか奥が深くて、まだまだ知らない&分からないことが多いです。
毎日、少しずつ習得しているといった感じです。
先日、サイトを解析していた時、URL にクエリパラメータがついていると、対象となるページは同じなのにクエリパラメータが違うために別のページと解析されてしまう事に気づきました。
その結果、ページ解析リストがずら〜〜〜〜〜と長くなってしまいました。
例にすると、こんな感じです。
/site/content.html?id=1&data=UG234012
/site/content.html?id=8&data=UG163504
/site/content.html?id=4&data=UG990601
/site/content.html?id=7&data=UG777562
/site/content.html?id=9&data=UG304478
なかなか奥が深くて、まだまだ知らない&分からないことが多いです。
毎日、少しずつ習得しているといった感じです。
先日、サイトを解析していた時、URL にクエリパラメータがついていると、対象となるページは同じなのにクエリパラメータが違うために別のページと解析されてしまう事に気づきました。
その結果、ページ解析リストがずら〜〜〜〜〜と長くなってしまいました。
例にすると、こんな感じです。
/site/content.html?id=1&data=UG234012
/site/content.html?id=8&data=UG163504
/site/content.html?id=4&data=UG990601
/site/content.html?id=7&data=UG777562
/site/content.html?id=9&data=UG304478
2012年4月4日水曜日
iPhoneのメッセージの吹き出しが突然青から緑になったら
iPhoneのメッセージが便利すぎて、最近、iPhone同士の相手とはメールをほとんど使わなくなりました。
ところでメッセージの吹き出しの色、どういう意味があるかご存知でしたか?
iPhone のメッセージアプリ、じつは3つの通信方式でメッセージの送受信を行なっています。
- SMS -- 電話番号で通信。キャリアが違ってもOK
- MMS --メールアドレスを使って通信。キャリアが違ってもOK
- iMessage -- iOS5のデバイス同士で通信
大雑把に言うと、上記のような感じになります。
下に行くほどリッチになると思っていいでしょう。(笑)
登録:
投稿 (Atom)