2014年10月11日

iTunes 対応 (11) | アチーブメント完結編!! part 2!

さて、完結編 Part 2!
最近映画でもよくありますよねww


アチーブメント獲得バナーの表示
さて、アチーブメント、獲得した時って Notification Banner 出るはずだと思ってたんだけど...
ちょっとサーチしてみますね...

....そして3分後。

あ、これっぽいかな?サーチしてみると、こんなページが引っかかりました。
表示の有無が、フラグで管理されてるみたい。
じゃ、これを true にして、もう一回アチーブしてみましょう。
コードはこんな感じ。ハンドルする為に、usingを追加して、
Screen Shot 2014-10-10 at 2.16.19 PM.png
スイッチをオンに!
Screen Shot 2014-10-10 at 2.16.46 PM.png

これでどうかな?
次は、25個破壊しないといけないけど....

でました!大丈夫っぽいですね!!
IMG_9189.PNG
25個
IMG_9190.PNG
50個も
IMG_9192.PNG
100個も大丈夫!このへんまで来ると、けっこうキツイ。

ゲームを終わって、アチーブメントの表示画面に来ても...表示されてます!
IMG_9194.PNG
ばっちり!!


累積アチーブメントの対応
さて、破壊カウントのアチーブメントは出来ましたね。同じ仕組みでチェーンは対応出来そうなんで、累積アチーブメント、累積破壊数とか、プレイ回数とかの対応をしてみましょう!

今回は、AchievementAccumulatedCount っていうクラスを作ってみました。
前回作った AchievementDestroyCount クラス とほぼ一緒なんですが、累積なんで、ロードした時に進行中のアチーブメントから、今の累積カウントを計算してます。
Screen Shot 2014-10-10 at 7.25.46 PM.png
ここまではほぼ一緒
ちょっと違う初期か処理はこんな感じで。
Screen Shot 2014-10-10 at 7.26.07 PM.png
118〜128行目で、リストに登録されてるアチーブメントで獲得済か、進行中の物があれば、その進行度と達成カウントから現在のカウントを計算。
125行目からのコードで、今持ってるカウントより大きかったらそっちをセット。
129〜134行目で前と同じ様にゲーム内でチェックするリストに登録。

で、チェックや更新時は、こんな風。
Screen Shot 2014-10-10 at 7.33.17 PM.png
今の値はプライベート変数にしたんで、更新用に関数作ったのが145行目。
159行目で、今の進捗を計算して、100%以上になってたら、164行目で達成用のコールバックを付けてリポート。
そうじゃなかったら、171行目な感じで、未達成用のコールバックでリポート。
Screen Shot 2014-10-10 at 7.39.30 PM.png
197行目からの未達成の方は特になんにもしてなくて、フラグをクリアしてるだけ。
175行目からの達成の方では、達成後に、まだこのシリーズのアチーブメント(リストに登録してあるやつ)が残ってたら、新しい進捗と共にリポート。
元々 Hidden にしてあるんで、このリポート以降、リストに内容が表示されるのを期待してる訳です。

じゃ、早速デバイスで実行してみましょう!
これはゲームのプレイ回数(ゲームオーバー回数)のアチーブメントなんで、簡単にゲームオーバーになりましょうね。

リストを開くと...
IMG_9198.PNG
ちゃんとリポートしてるみたいですね♪
じゃ、2回目。
IMG_9199.PNG
これも大丈夫!
さて、ゲーム復帰時に、アチーブメントから現在の値を取ってるんで、ここ、ちょい不安なんですよね。
ちょっとゲームをリブートして、確認してみましょう!

あっ!大丈夫でしたね!!
じゃこのまま、5回ゲームオーバーのアチーブメントを獲得してみましょう。
IMG_9204.PNG

いけてる!順調順調!
軌道に乗って来たなぁ〜。
さて、じゃ他のアチーブメントの実装を進めて...
っと、あれっ、ちょっとまって。これ、リポートしてる進捗の小数点以下、なんか捨てられてないかい...?
システムのログでも、リポートする時、ちゃんと小数点以下も入ってるんだけど、ロードした後はまるまっちゃってるんだなぁ〜。

ちょっとリサーチ。

....そして10分後。

あ〜、なんか同じ問題を持ってる人、いっぱいいましたね。
どうやら、doubleを使っちゃいるけど、小数点以下は切り捨てられてるみたいです...なんだかなぁ〜。
ちゃんと書いといてくれたらよかったのに...

こうなると、もうローカルに累積データをちゃんと保存するしかないみたいですね〜。
サーバー置かなくても、信頼度の高い情報持って来れるかと思ってたんですが。

仕方ないので、累積系のアチーブメントは、進捗率で管理しない様にしますね。
はっ!結局、終わってない...?

        にほんブログ村 ゲームブログ×PlayNCBlogへ
 初めてみました。よかったらクリックお願いね ♪

posted by やまけん at 10:45| Comment(0) | Unity | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: