###前提・実現したいこと
今、Unityで横スクロール型の2Dゲームを作っています。
ゲームの内容は、Enterを押してゲームスタート、キャラクターがゴールまで自動で走り、
シフトを押してジャンプさせてアイテムをとっていく……というものです。
###発生している問題・エラーメッセージ
ゲームを実行するとキャラクターの待機アニメーション、Enterで走るというとこまでは実行できたのですが、走るアニメーションが再生されるのは一回だけ、しかも進みません。
これをEnterを一回押したら走るアニメーションをループしてゴールまで進むようにしたいです。
###該当のソースコード
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerManager : MonoBehaviour { private Animator animator; public float scroll = 10f; Rigidbody2D rb2d; // Use this for initialization void Start() { animator = GetComponent<Animator>(); rb2d = GetComponent<Rigidbody2D>(); } // Update is called once per frame void Update() { if (Input.GetKeyDown("return")) { rb2d.velocity = new Vector2(scroll, rb2d.velocity.y); animator.SetBool("running", true);//走るアニメーションです。 } else { animator.SetBool("running", false); } } }
###試したこと
UnityもC#も初心者ですので色々なサイトを参考にしたのですが、今理解しているのがGetKeyでキー入力を習得できるということ、animator.SetBool("running", true);でEnterを入力した時、runningをtrue(発動する)ということだけです。
色々なサイトを参考に、
public float scroll = 10f;
Rigidbody2D rb2d;
rb2d.velocity = new Vector2(scroll, rb2d.velocity.y);
という値を入れてみたのですが、良くわかっていません。
###補足情報(言語/FW/ツール等のバージョンなど)
Unityのバージョンは5.6.0f3です。
質問初めてなので言葉足らずなところ多々あると思いますが、よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。