Unityについての質問です。
アニメーションが終了した後にSpriterendererを変更するプログラムをかいたのですが、変更されません。どう改善すればいいでしょうか?回答お願いします。
コード
IEnumerator ACT1C() { animator.speed = 1; for (int t = 0; t <= 50; t++) { transform.Translate(new Vector2(-0.2f,-0.1f)); CAMERA.transform.position = new Vector3 (transform.position.x, transform.position.y,-10); KNIFEL.transform.position = new Vector3(transform.position.x, transform.position.y-1, -0.05f); yield return new WaitForSeconds(0.01f); } KNIFEL.SetActive(false); animator.speed = 0; SPR.sprite = LEFT; Debug.Log(SPR.sprite); }
このコードはアタッチされたオブジェクトをアニメーションをしながら移動させて、その後動きを止めて左を向かせるという内容のものです。
実行すると、 Debug.LogにはLEFTが出るのですが、InspectorのSpriterendererではアニメーションの内容のものが表示されてしまいます。
どうすればいいですか?
もし「アニメーションをしながら」のアニメーションがUnity側のAnimation機能で作ったもの(タイムラインにスプライトを並べるやつ)を指しているのだとしたら、そっちで上書きされていると思われます。
そうでなければ「SPR」が本当に目的のSpriteRendererを指しているか確認してみてください。
回答1件
あなたの回答
tips
プレビュー