2015-01-20 2 views
0

Unity3d에서 게임이 끝날 때 점수와 사용자 이름을 저장하려고합니다. 저는 PlayerPrefs를 사용하여 데이터를 가져옵니다. 나는 GUI.TextField에서 사용자 이름을 얻는다. 그리고 데이터를 mysql 데이터베이스에 삽입한다. 그러나 이전 데이터가 데이터베이스에 삽입 될 때마다. 어떻게 해결할 수 있습니까?이전 데이터가 Unity3d의 데이터베이스에 삽입 될 때마다

PlayerPrefs.SetInt("score",databasescore); 
PlayerPrefs.SetString("username",username); 
PlayerPrefs.Save(); 

나는 addscore.php와 display.php를 사용합니다. 내 HighScoreController.cs는 다음과 같습니다.

using UnityEngine; 
using System.Collections; 

public class HighScoreController : MonoBehaviour 
{ 
    public static string hs; 
    public string addScoreURL = "http://localhost:8000/addscore.php?"; 
    public string highscoreURL = "http://localhost:8000/display.php?"; 

    void Start() 
    { 

     StartCoroutine (PostScores (PlayerPrefs.GetString ("username"), PlayerPrefs.GetInt ("score"))); 
     StartCoroutine (GetScores()); 
     PlayerPrefs.DeleteAll(); 
    } 

    public IEnumerator PostScores(string username, int score) 
    { 
         string post_url = addScoreURL + "username=" + username + "&score=" + score; 
         WWW hs_post = new WWW (post_url); 
         yield return hs_post; // Wait until the download is done 

         if (hs_post.error != null) { 
           print ("THERE WAS AN ERROR GETTıNG THE HıGH SCORE: \n" + hs_post.error); 
         }    
    } 

    public IEnumerator GetScores() 
    { 
     WWW hs_get = new WWW(highscoreURL); 
     yield return hs_get; 

     if (hs_get.error != null) 
     { 
      print("THERE WAS AN ERROR GETTıNG THE HıGH SCORE: \n" + hs_get.error); 
     } 
     else 
     { 
      hs = hs_get.text; 
      PlayerPrefs.SetString("scores", hs); 
      Debug.Log(hs); 
     } 
    } 

} 
+1

당신은 또한 당신의'PostScores'와'GetScores' 기능을 보여줄 수,

PlayerPrefs.SetString("scores", hs); 

하지만 없어

이있다? – SirBraneDamuj

답변

0

알고리즘 문제가 있다고 생각합니다.

GetScores는

PlayerPrefs.Save(); 
관련 문제