【ハルシオンブログ】 yield return StartCoroutine を StopCorutine するとき
こんにちは。
大坂です。
今日も宣伝から!
URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
URL(iOS):https://itunes.apple.com/jp/app/id1539553611
PV:
さて、yield return StartCoroutine を StopCorutine したい時ってありますよね。
前から使ってたような気がしますが、なんかパッとやり方を思い出せなかったので…。
①Coroutine を使用する方法
②IEnumerator を使用する方法
最近直したときはCoroutineを使用する方法でやりましたが、
IEnumerator を使用する方が修正少なかったなぁと思い、忘れないようにメモです。
ではまたノシ
大坂です。
今日も宣伝から!
URL(Android):https://play.google.com/store/apps/details?id=com.halcyon.pocketgirl3
URL(iOS):https://itunes.apple.com/jp/app/id1539553611
PV:
さて、yield return StartCoroutine を StopCorutine したい時ってありますよね。
前から使ってたような気がしますが、なんかパッとやり方を思い出せなかったので…。
①Coroutine を使用する方法
bool isLoop;
Coroutine testCoroutine;
IEnumerator Start() {
btnTest.onClick.AddListener(OnClickStop);
// Coroutine 変数に StartCoroutine を設定
testCoroutine = StartCoroutine(TestCorutine());
// フラグが false になるまで待つ
yield return new WaitWhile(() => isLoop);
Debug.Log("Stopしたよ");
}
public IEnumerator TestCorutine() {
isLoop = true;
while(isLoop) {
yield return null;
}
}
public void OnClickStop() {
isLoop = false;
}
②IEnumerator を使用する方法
bool isLoop;
IEnumerator testIEnumerator;
IEnumerator Start() {
btnTest.onClick.AddListener(OnClickStop);
testIEnumerator = TestCorutine();
yield return StartCoroutine(testIEnumerator);
Debug.Log("Stopしたよ");
}
public IEnumerator TestCorutine() {
isLoop = true;
while(isLoop) {
yield return null;
}
}
public void OnClickStop() {
isLoop = false;
}
最近直したときはCoroutineを使用する方法でやりましたが、
IEnumerator を使用する方が修正少なかったなぁと思い、忘れないようにメモです。
ではまたノシ
Category: Androidアプリ紹介
| h o m e |