Shortlink

ネットランキングシステムを作る・その3[post送信]


WebPlayerで見る

完成しました。遊んだ後、登録などしてみてください(ランキングはリセットする可能性があります)

ゲーム終了後、リザルト画面にとび、名前が入力されていればpost送信処理を行うというものです。
送信に使った関数の部分です


function sendName(name:String){

if(name != ""){
var url1 = "送信先のサーバプログラム";

var wwwForm:WWWForm = new WWWForm();

wwwForm.AddField( "name", name );
var score = "" +スコア;
wwwForm.AddField( "score", score );
var timer:float = 時間(秒);
var time =  "" + String.Format("{0:00}:{1:00}:{2:00}",  Mathf.Floor(timer / 60f), Mathf.Floor(timer % 60f), timer % 1 * 100);
wwwForm.AddField( "time", time );

var gettext : WWW = new WWW(url1,wwwForm);
yield gettext;

if(gettext.text == "success"){
stringToEdit = "";
infotext.text = "THANK YOU!!";
audio.Play();
yield WaitForSeconds (0.5);
backHome();//スタート画面に戻る自作関数

}else{
infotext.text = "ERROR!";
stringToEdit = "";
}
}
}

stringToEditはテキストフィールドです。
infotextはメッセージ表示のGUItext。

サーバ側は受け取ったpost項目をファイルに書き込みます。読み出し側のphpはスコアでソート、これをjson形式にして返すようになっています。
他にもフェードの機能(画面すべて、BGMなども)、演出ブラッシュアップなど。スコアが全体的に低いのでバランスも考えもっと変えるつもりです。

予想以上に時間がかかってしまいました。
サーバ側の解説はまた後日やりたいと思います。

Shortlink

ネットランキングシステムを作る・その1

以前作ったゲームに、追加機能としてネットランキング機能を作りたいと思っています。
スタート画面にランキングボタンを設置。ランキング画面を作成。
複数行にわたる可能性があるので、GUIのテキストフィールドとスクロールバーを使うことにしました。ひどい手抜きだ。
中身のテキストをこれからネットで読み込めるようにしたいと思います。

var string : String = "Hello World";
var scrollViewVector :Vector2 = Vector2.zero;

function OnGUI () {
    scrollViewVector = GUI.BeginScrollView (Rect (100, 100, 450, 300), scrollViewVector, Rect (100, 100, 450, 400));
    string = GUI.TextArea (Rect (100, 100, 800, 800), string);
    GUI.EndScrollView();

        if (GUI.Button(Rect(Screen.width/2 -100,420,200,40),"BACK")){
      		Application.LoadLevel ("start");
        }
}

はっきりいって公式リファレンスとあまり変わりありません。数値も結構あてすっぽうだったりします。要研究。
水平のバーはいらないんだけどな。次回はネット上のxmlやjson等を読み込むところまで行きたいと思います。