using UnityEngine;
using System.Collections;
public class Player : MonoBehaviour {
public float speed = 8.0f;
public float maxVelocity =3.0f;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
float force = 0.0f;
float velocity = Mathf.Abs (GetComponent<Rigidbody2D>().velocity.x);
float h = Input.GetAxis ("Horizontal"); //getting input along x-axis only
Debug.Log (h);
if (h > 0) {
if (velocity < maxVelocity) {
force = speed;
}
Vector3 scale = transform.localScale;
scale.x = 1;
transform.localScale = scale;
} else if (h < 0) {
if (velocity < maxVelocity) {
force = -speed;
}
Vector3 scale = transform.localScale;
scale.x = -1;
transform.localScale = scale;
}
GetComponent<Rigidbody2D>().AddForce (new Vector2 (force, 0));
}
}
即使我没有按任何右/左键,我的h
值始终返回-1
。
有人能指出我的问题吗?
答案 0 :(得分:2)
Input.GetAxis ("Horizontal")
返回范围-1的值; 1为您的操纵杆或其他控制器返回值。请检查您是否没有连接到计算机。例如,它可以是赛车轮。