Webサービス(WWW
)から簡単なユーザーデータ検索機能を構築しています。私はこれを解決することはできませんので、あなたたちは私を助けることができますか?StartCoroutine関数はアンドロイドでは動作しませんがUnityエディタで正常に動作します
私はStartCoroutine
メソッドを使用しています。私のアンドロイドデバイス(アンドロイド6.0.1)をビルドして実行すると、ボタンをクリックしても何もしません!何もない!しかし、Unityエディタでは、完全に動作しています!
私はこの問題の詳細を検索し、誰かが「もっと効果的なコルーチン」というプラグインを勧めました。 http://trinary.tech/category/mec/さて、あなたはおそらく、このプラグインが私に全く役に立たないという考えを得るでしょう!ここで
は(私は標準ユニティコードをコメントアウト)プラグインと私のC#のコードです:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
//using "More Effective Coroutines" plugin:
using MovementEffects;
public class Login : MonoBehaviour {
public InputField LoginUsername;
private string usernameInput;
public InputField LoginPassword;
private string passwordInput;
string connectionLink = "00.00.00.211/app/login.php";
public Text conResponse;
public void OnSubmit(){
usernameInput = LoginUsername.text;
passwordInput = LoginPassword.text;
//DEFAULT: StartCoroutine (Login(usernameInput, passwordInput));
Timing.RunCoroutine(_login(usernameInput, passwordInput));
}
//DEFAULT: IEnumerator login(string username, string password){
IEnumerator<float> _login(string username, string password){
WWWForm form = new WWWForm();
form.AddField("usernamePost", username);
form.AddField("passwordPost", password);
WWW www = new WWW(connectionLink, form);
//DEFAULT: yield return www;
yield return Timing.WaitForSeconds(1f);
if (www.text == "ok") {
SceneManager.LoadScene ("inGame", LoadSceneMode.Single);
} else {
conResponse.text = www.text;
switch (www.text) {
case"noUser":
conResponse.text = "User "+username+" not found in database!";
break;
case"loginFailed":
conResponse.text = "Check your password and try again!";
break;
}
Debug.LogWarning(www.text);
}
}
}
を見て、私が間違ってやっているのフィードバックを与えてください? C#は私の新しい言語です。
よろしく、 ロブ。
Androidで 'OnSubmit()'が呼び出されていますか? Debug.Log( "OnSubmit clicked")を追加すると、あなたはコンソール(つまり、logcat)でそれを見ることができますか? – mayo
@mayoはい、Android上で呼び出されています。 – user3292639
'connectionLink'とは何ですか? '00.00.00.211'があなたのローカルマシンのアドレスであれば、アンドロイドのビルドはアンドロイドのローカルマシンに接続しようとします。あなたの携帯電話でサーバを稼働させていなければ、アプリケーションは接続を作成できません。 .. – mayo