こんにちは、2D エンドレス ランナーを作成しています。背景には 2 つのアニメーションがあります - Scroll と stopScroll
- 死のアニメーションを有効にする - これは起こっています
- タイマーを停止 - 停止すると、すべてのアニメーションが停止します
- バックグラウンドのスクロールを停止します - これは、死のアニメーションが終了する前に発生し、最初のフレームに戻る前に発生しますが、発生しています。キャラクターが死亡した場所に対して背景を停止したい。
- キャラクターを破壊する - これは起こっていますが、アニメーションが完了する前です。コルーチンを使用する必要があると思いますが、方法がわかりませんか?
助けてください!
提案された私の更新されたコードは次のとおりです
void OnCollisionEnter2D(Collision2D other)
{
if (other.gameObject.name == "Obstacle(Clone)")
{
StartCoroutine (DoMyThings(other.gameObject, this.gameObject, false));
}
}
IEnumerator DoMyThings(GameObject obstacle, GameObject player, bool ninjaObjBool)
{
ninjaObj = ninjaObjBool;
Destroy (obstacle);
animator.SetBool("dead", true);
yield return new WaitForSeconds(1.2f);
Destroy (player);
Time.timeScale=0;
//timerIsStopped = true;
yield break;
}
背景アニメーション 背景のスプライトを複製し、並べて配置しました。RHS スプライトは、階層内の LHS スプライトの子です。次に、LHS bg スプライト -> ウィンドウ -> アニメーションをクリックします。add curve を使用して bg を X 軸上で変換し、無限に動かします。