サーバー・サイド無しで今すぐ始められるゲーム用スコア・ランキングAPI
こんにちはtaroです。
お久しぶりです。
今回はwonderflの開発者ブログのエントリーで紹介されているScore Ranking APIについてここで紹介しようと思います。
フラッシュでミニゲームを作ったあと、ランキングをつけようと思うと、サーバー側の用意等、少しだけ頑張る必要があります。
これをサポートしてくれるのが、こちらのAPIです。
まずはとてもシンプルなサンプルを見てみましょう。
乱数でスコアを決めてランキングを見せるというものです。
まずは、登録画面を作るコードを見ます。
var score:int = 1000 * Math.random(); _form = new BasicScoreForm(this, (465-BasicScoreForm.WIDTH)/2, (465-BasicScoreForm.HEIGHT)/2, score, 'SAVE SCORE', showRanking);
MinimalComps形式でコンストラクタに引数を渡していきます。上の例の最後の引数は、フォーム・ボタンが閉じられたあとに呼ばれるコールバックへの参照を渡します。showRankingの定義を見てみます。
private function showRanking($didSavedScore:Boolean):void { _tfStatus = new TextField; _tfStatus.text = 'saved score : ' + $didSavedScore; addChild(_tfStatus); // removes form removeChild(_form); var ranking:BasicScoreRecordViewer = new BasicScoreRecordViewer(this, (465-BasicScoreRecordViewer.WIDTH)/2,(465-BasicScoreRecordViewer.HEIGHT)/2,'RANKING', 99, true); }
フォームを閉じたあとに呼ばれるコールバックには引数$didSavedScoreが渡されていますが、これは、ユーザがスコアを登録したかを表します。左上のTextFieldに表示させてみました。
showRanking内ではフォームを消し、その後、ランキングを表示させています。ランキングもフォームと同じような形式で引数を設定します。最後の二つの引数は、99 - 取得するレコードの上限、true - 昇順、降順です。
これらの詳細については、asdocを御覧下さい。 また、実装の詳細については、google codeもしくは、git hubのリポジトリから、ソースコードを取得することが出来ます。
Googleサジェストにも登場する位色々な処でbuzzってるパーティクル崩しにランキングをつけてみました。
色やフォームを閉じたときの演出だったり、表示されるスコアに単位をつけるにはフォームやランキングのクラスの拡張を書きます。詳しくは、wonderfl.netよりサンプルをダウンロードしてご覧ください。また、フォームのベースとなっているクラスやランキングのベースとなっているクラスを拡張することでMinimalComps風の表示を辞めて完全にUIをカスタマイズすることも可能です。