Unityで通信を行う
- 2013/12/09
- 22:23
今回はUnityでサーバとの通信を行います
特にこの記事ではUnity側のスクリプトについて書いていこうと思います
(サーバ側のスクリプトは次回以降紹介します)
さてUnity側のスクリプトですが、これはかなり基本的な内容で実現できました
今更記事にするほどの内容でもないかもしれませんが、
私のようなこれからUnityを始めていくという方のご参考なれば幸いです
ともかくまずはスクリプトの紹介
IEnumerator Register (string name) {
WWWForm wwwForm = new WWWForm();
wwwForm.AddField("Name",name);
score = PlayerPrefs.GetInt("Score").ToString();
wwwForm.AddField("Score",score);
WWW www = new WWW(url,wwwForm);
yield return www;
base64 = System.Convert.ToBase64String(System.Text.Encoding.Unicode.GetBytes(www.text));
PlayerPrefs.SetString("Ranking",base64);
Application.LoadLevel ("ranking");
}
サーバとの通信はコルーチン内で行います
簡単に書くと
①WWWFromでサーバに送るデータを作り
②WWWで実際にサーバとの通信を行うといった感じです
WWWFromでは 第一引数に変数の名前を、第二引数に実際の値を設定
WWWでは第一引数に通信先のURLを、第二引数にWWWFromで作った値を設定
実際にはここで通信先にリクエストを送ることになります
WWWの第二引数は省略可能です
そして yield return www で通信先からの応答を待ちます

このようにUnity側の通信の流れは、基本的にはお決まりの流れなので
特に迷うことなくスクリプトをかけると思います
では次回以降にサーバ側のスクリプト(node.js)を紹介してみましょう
特にこの記事ではUnity側のスクリプトについて書いていこうと思います
(サーバ側のスクリプトは次回以降紹介します)
さてUnity側のスクリプトですが、これはかなり基本的な内容で実現できました
今更記事にするほどの内容でもないかもしれませんが、
私のようなこれからUnityを始めていくという方のご参考なれば幸いです
ともかくまずはスクリプトの紹介
IEnumerator Register (string name) {
WWWForm wwwForm = new WWWForm();
wwwForm.AddField("Name",name);
score = PlayerPrefs.GetInt("Score").ToString();
wwwForm.AddField("Score",score);
WWW www = new WWW(url,wwwForm);
yield return www;
base64 = System.Convert.ToBase64String(System.Text.Encoding.Unicode.GetBytes(www.text));
PlayerPrefs.SetString("Ranking",base64);
Application.LoadLevel ("ranking");
}
サーバとの通信はコルーチン内で行います
簡単に書くと
①WWWFromでサーバに送るデータを作り
②WWWで実際にサーバとの通信を行うといった感じです
WWWFromでは 第一引数に変数の名前を、第二引数に実際の値を設定
WWWでは第一引数に通信先のURLを、第二引数にWWWFromで作った値を設定
実際にはここで通信先にリクエストを送ることになります
WWWの第二引数は省略可能です
そして yield return www で通信先からの応答を待ちます

このようにUnity側の通信の流れは、基本的にはお決まりの流れなので
特に迷うことなくスクリプトをかけると思います
では次回以降にサーバ側のスクリプト(node.js)を紹介してみましょう
スポンサーサイト