このコルーチンを呼び出すと、もう一度それを停止することができず、永遠に続きます。私はすでに文字列などでそれを呼び出そうとしています...C#ユニティ:コルーチンを停止できません
このブロックは、更新メソッドで呼び出されているメソッドにあります。
これは私のコードです:
if (currentAmmo < 2 && isColorFading == false) {
StartCoroutine (ColourPulse (ammoCounter, initialColor, 2));
isColorFading = true;
} else if (currentAmmo >= 2 && isColorFading == true) {
StopCoroutine (ColourPulse (ammoCounter, initialColor, 2));
ammoCounter.color = initialColor;
isColorFading = false;
}
'currentAmmo'が2の場合はどうなりますか?または、 'currentCommand'が' true 'のときに 'currentAmmo'が2より大きい値にならない場合はどうなりますか –
これは間違いです...編集してください... – r0128
デバッグして見てください。たぶんあなたは '&&'の代わりに '||'を使う必要があります –