0

理由がわかりません。

私はすでにそれに関する多くの文書を読んでおり、多くのコメントがあります。

StopCoroutine(string) は StartCoroutine(string) で始まるコルーチンのみを停止できます

コードは以下です。

クラス CharTouchControl.cpp 内

if( Input.GetKeyDown( KeyCode.Q ) )
{
    _CharControl.StartCoroutine("useFever", 10);
}

_CharControl は CharTouchControl のメンバーであり、もちろん _CharControl は以下の CharControl インスタンスを参照しています。

そしてInClass CharControl

public IEnumerator useFever(float _duration = 10)
{
    if( m_nUseFever < _nFeverMax )
    {
        Debug.Log("Stop!!");
        StopCoroutine("useFever");
        yield return new WaitForEndOfFrame();
    }

    m_fgCharState = CharState._FEVER;

    // fever particle
    m_psFeverPaticle.Simulate(4);

    yield return new WaitForEndOfFrame();
} // end of useFever

m_nUseFever < _nFeverMax が true の場合、「Stop!!」と表示されます。ログ、

しかし、コルーチンは停止せず、パティクルをシミュレートしません。

誰かがこれを助けますか?

4

1 に答える 1