こんにちは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をカスタマイズすることも可能です。

 

HTML5飯