2016-07-04 11 views
0

こんにちは、これは私のコードです。ユニティ・スタート・コルーチンが起動しない

UnityによるPHPコードは、mysqlに接続します。

public string userLoginFile = "localhost:8088/database/Userlogin.php?"; 
string username = "****"; 
string password = "****"; 
string Name; 
bool InfoTest = false; 
string family; 
string status; 
Text we; 
Text st; 
public void Start(){ 
    GameObject inputUsernameFiled = GameObject.Find ("usernameInput"); 
    GameObject inputPasswordFiled = GameObject.Find ("passwordInput"); 
    GameObject welcomeQ = GameObject.Find ("welcome"); 
    GameObject statusQ = GameObject.Find ("status"); 
    we = welcomeQ.GetComponent<Text>(); 
    st = statusQ.GetComponent<Text>(); 

    InputField In1 = inputUsernameFiled.GetComponent<InputField>(); 
    InputField In2 = inputPasswordFiled.GetComponent<InputField>(); 


     //st.text = "Your Account Is Saved!"; 

    if(PlayerPrefs.GetFloat ("InfoCheck") == 1){ 
     username = In1.text; 
     password = In2.text; 
     we.text = "Welcome To Golden3 Service!"; 
     //st.text = "Your Status Is: " + status; 
    } 
    if(PlayerPrefs.GetFloat ("InfoCheck") == 2){ 
     username = PlayerPrefs.GetString ("UsernameIs"); 
     password = PlayerPrefs.GetString ("PasswordIs"); 
     StartCoroutine (LoginUser (username, password)); 
     st.text = "Your Account Is Connect!"; 
     we.text = "Welcome "+ Name +" To Golden3 Service!"; 
     Debug.Log (Name); 
    } 
} 

void Update(){ 
    //Awake(); 
} 

public void OnClick(){ 
    if(PlayerPrefs.GetFloat ("InfoCheck") == 1){ 
    PlayerPrefs.SetString ("UsernameIs", username); 
    PlayerPrefs.SetString ("PasswordIs", password); 
    PlayerPrefs.SetFloat ("InfoCheck", 2); 
    StartCoroutine (LoginUser (username, password)); 
    if(InfoTest == true){ 
     st.text = "Your Status Is: Connectet"; 
      Debug.Log (Name); 
    }//end if 

    }//end if 
}// end click function 

IEnumerator LoginUser(string user, string pass){ 
    WWW login = new WWW(userLoginFile + "username=" + user + "&password=" + pass); 
    yield return login; 

    if(login.error == null){ 
     InfoTest = true; 
     Name = "test"; 
     /* 
     string[] credentials = login.text.Split('/'); 
     foreach (string str in credentials){ 
      string[] cred= str.Split('='); 

      for(int i =0; i< cred.Length; i++) { 
       if(cred[i] == "name") 
        Name = cred[i+1]; 
       if(cred[i] == "family") 
        family = cred[i+1]; 
        status = "Logged In!"; 
      } 

     }*/ 
    }//end if 
}//end login user 

スタートに機能がstartcoroutineを呼び出し 、

を動作しません。しかし、私はボタンをクリックすると、startcoroutine作品!

私を助けてください!

ありがとうございました。

+0

デバッグしましたか?私はデバッグログを使用して何が起きているかチェックしてください - スタートから何が期待されているのかはわかりません - GameObjectの生活の始まりではもう一回しか呼びません。 –

答えて

0
  • startメソッド
  • で共同ルーチンを呼び出すための可能な2つの理由があります。それが原因のユーザー名とパスワード
を上の間違った値にスタートして
  • 無効なURLをコルーチンを呼び出すためにそのコードを達することができませんでした
     
        if(PlayerPrefs.HasKey("UsernameIs")){ 
         username = PlayerPrefs.GetString ("UsernameIs"); 
        }else{ 
         username="****"; 
        } 
        if(PlayerPrefs.HasKey("PasswordIs")){ 
         password = PlayerPrefs.GetString ("PasswordIs"); 
        }else{ 
         password ="****"; 
        } 
    
  • 関連する問題