public GameObject obj;
public void urlGET(string tgturl){
if(Application.internetReachability == NetworkReachability.NotReachable){
Destroy(gameObject);
}
this.url = tgturl;
this.url = tgturl;
StartCoroutine("download");
}
private IEnumerator download(){
WWW w = new WWW(url);
yield return w;obj.DownloadReturn(w.text);
w.Dispose();
Destroy(gameObject);
}
―――――――――――――――――――――――――――――
ま、C#しか書かないんですけどね。
objはEditor上で突っ込んであげてください。
最後のDownloadReturnで、結果を受け取りたいクラスに値を渡しています。
ここではtextですが、そこはよしなに変えちゃってください。
自前のPHPでも叩くようにすると割と簡単にサーバとのやりとりが実装できちゃったりします。
さて、yieldとcoroutineとかいう気持ち悪いシロモノですが、
ポイントは
・非同期メソッドはIEnumeratorで作る
}
―――――――――――――――――――――――――――――
ま、C#しか書かないんですけどね。
objはEditor上で突っ込んであげてください。
最後のDownloadReturnで、結果を受け取りたいクラスに値を渡しています。
ここではtextですが、そこはよしなに変えちゃってください。
自前のPHPでも叩くようにすると割と簡単にサーバとのやりとりが実装できちゃったりします。
さて、yieldとcoroutineとかいう気持ち悪いシロモノですが、
ポイントは
・非同期メソッドはIEnumeratorで作る
・StartCoroutineで呼び出す
の2点です。
IEnumerator云々はよく書いてあるんですが、
StartCoroutineで呼び出すところでハマりがち。っていうかハマった。
なんとなく気持ち悪いのでprivateで書いてますが、気分の問題な気もします。
ちなみに、上記urlGETメソッドの最初で、
ネットワーク接続の有無を確認しています。ご参考までにどうぞ。
WWWクラスはメモリ食うらしいので、こいつをプレハブ化してやって
適宜Instantiate/Destroyしてやってください。
の2点です。
IEnumerator云々はよく書いてあるんですが、
StartCoroutineで呼び出すところでハマりがち。っていうかハマった。
なんとなく気持ち悪いのでprivateで書いてますが、気分の問題な気もします。
ちなみに、上記urlGETメソッドの最初で、
ネットワーク接続の有無を確認しています。ご参考までにどうぞ。
WWWクラスはメモリ食うらしいので、こいつをプレハブ化してやって
適宜Instantiate/Destroyしてやってください。