晴れ時々Unity、そののち映画Unityを使ったモバイルアプリ制作をはじめてみた、私の制作奮闘記。今回こそアチーブメントの実装!さて、今度こそほんとーにアチーブメントを実装しましょう。ディスクリプションのロード編じゃ、ユーザー認証はできたんで、アチーブメントの情報から読み込んでみましょうね。今回は、Unityの公式リファレンスを参考にして、こんな感じにコードを書いてみましたよ。小手調べって感じで、登録されてるアチーブメントと、進捗を報告した事があるアチーブメントのリストの取得から。前に使ったユーザー認証が終わったら、アチーブメントの情報を取り出してます。65行目でチェック、認証出来たら68行目でロードひとまず、テストなんで、取って来たアチーブメントの配列数をデバッグ表示で表示。処理後に実行されるコールバック達の予定だけど、XCodeではどうかな〜....ビルドは通ったけど....あれっ?ん〜、またなんか勘違いしてたのかな?デバッグログによると、今の状態では、アチーブメント、拾えてないですねぇ〜。使ってみたいと思いますが、その為に準備が必要ですね!そう、トリガーとなるボタン!まず、その準備から行きましょうかね。何がいいかなぁ〜....あ、これかな?ここのチュートリアルを参考に、ボタンをタイトル画面に置きましょうかね。おっと、しまった!これ、Unity4.6の機能の紹介ですね〜。アップデートしたくないんだな〜。(あんまり信用してない。)しょうがないんで、独自のボタンを簡単に作りますかね。昔からの機能を使ったボタンって....この方のチュートリアルが簡単そうなんで、これにしましょうかね。このチュートリアル動画に従って、こんな簡単なスクリプトを書いてみました。内容は、2番目に紹介されてた、独自のテクスチャをボタンに適用する形です。20行目でテクスチャとサイズを設定して表示してもらって、入力があったら、22行目で、GameCenterPluginクラスに頼んで、アチーブメントをiOSのデフォルトフォーマットで表示してもらう形です。使った、簡単な1行コードですね!手抜きだなぁ〜^^:さらに、新規のGameObject(Btn_Achievement)を作って、それにコンポーネントとして接続しただけ。テクスチャを使うんで、またアイコン用のテクスチャを探して来ましたよ。今回は、Unityのアセットストアにはいい感じのが見当たらなかったんで、フリー素材を使わせてくれる、こちらのwebサイトにお世話になってみました。加工してますが、加工後のテクスチャはこんな感じです。しまった、完全に白だから、ここでは見えてないですねwじゃ、これもデバイスじゃないと確認できない機能なんで、さっそくiOSビルドを作って試してみましょうかね?ん〜。表示はされるんですが、中身ないですねぇ。こっちもアチーブしたやつだけ表示されるのかな?あと、ちょっとバグもあって、このボタンを押すと、ゲームも始まっちゃいますね。ま、ゲーム開始のトリガーは”タッチがあったら”、って取り方なんで、当然ですね。そっちから修正してみましょうかね。タイトル画面の修正から...え〜っと、いろいろ考えたんですが、単純にスタートボタンを追加する事にしました。ホントは、ボタンと、ボタン以外のスクリーン全体のタッチ、ってしたかったんだけど、なんか、このGUIのコリジョン、よく分かんなくて....やっぱり4.6にアップデート、とっととした方がいいのかなぁ〜。持って来ちゃいました。使ってなかったんで、OnGUI追加して、ステップ見ながら表示と判定をやってます。233行目がアチーブメントのボタン表示。235行目で、押されたときの処理。242行目が、スタートボタンの表示。244行目で、追加したスタート初期化ステップ"GAME_INIT"へ。みると、いろいろやばそうですね。2つ同時に押されたらヤバそう。ま、今はそっとしておきましょうwGUIボタンのサイズ調整さて、多分共通の問題なんだと思うんだけど、標準のGUIの問題は、レゾリューションによって、サイズが変わっちゃうんですが、ここにこんな解決方法が書いてあって、使ってみたんだけど、正直サイズはうまくいっても、表示位置まで解決してくれないんですよね。なんで、真ん中あたりに表示したいスタートボタンは、下の239〜241行目みたいな感じで。iPhone5のレゾリューションを基準に位置調整して、その位置に実際のスクリーンサイズで補正("scale"変数ね)をかけて表示する様にしてみました。ま、ちょっと他のデバイスでテストしてませんがね。Editorのレゾリューション変える分には動いてましたが...それはいいから、アチーブメントの動作は?なんかまた準備ばっかりで長くなっちゃった....じゃ、実際のデバイスで試してみましょうかね!....ん〜。書いてあった様に、別のViewWindowは出たっけど、中身空っぽで、最初と一緒ですなぁ〜。なんだろう?初めてみました。2.0Seesaaブログ。