2016-09-28 4 views
0

im пытается сделать учебное пособие в единстве на странице официального сайта единства, и у меня есть некоторые сомнения, потому что учебник очень старый, и все не работает правильно, как он это делает, поэтому я уже установил плеер и фон, и теперь я должен написать сценарий, чтобы поместить игрока в движение и проверить коллизии между осью x и z, так что я сделал, в основном, используя метод Math.clamp, но когда я установил оси х, например, в мин -6 и максимум 6, он просто перемещается между -1 и 1 то же самое происходит по оси г, и я не знаю, почему это произошло: SСтолкновение игрока Space Shooter не работает должным образом

здесь код

using UnityEngine; 
using System.Collections; 

public class PlayerController : MonoBehaviour { 

private Rigidbody rb; 
public float velocity; 
public float xMin, xMax, zMin, zMax; 

void Start() { 
    rb = GetComponent<Rigidbody>(); 
    velocity = 3.0f; 
    xMin = -6.0f; 
    xMax = 6.0f; 
    zMin = -4.0f; 
    zMax = 7.0f; 
} 

// Update is called once per frame 
void FixedUpdate() { 
    float xAxis = Input.GetAxis ("Horizontal"); 
    float zAxis = Input.GetAxis ("Vertical"); 
    rb.velocity = new Vector3 (xAxis, 0.0f, zAxis) * velocity; 
    rb.position = new Vector3 (Mathf.Clamp (xAxis, xMin, xMax), 0.0f, Mathf.Clamp (zAxis, zMin, zMax)); 
} 

} 

ответ

1

Mathf.Clamp устанавливает границы для вас. Таким образом, это не может быть больше или меньше. если вы хотите, чтобы значения продвигались дальше -6 и +6, просто увеличьте значения xMin, xMax, zMin, zMax у инспектора. И Input.GetAxis имеет диапазон от -1 до +1, поэтому вы не получите дальше этого. Поэтому попробуйте умножить значения xAxis и zAxis на некоторое большое число. 10, например.

void FixedUpdate() 
{ 
    float xAxis = Input.GetAxis ("Horizontal") * 10; 
    float zAxis = Input.GetAxis ("Vertical") * 10; 
    rb.velocity = new Vector3 (xAxis, 0.0f, zAxis) * velocity; 
    rb.position = new Vector3 (Mathf.Clamp (xAxis, xMin, xMax), 0.0f, Mathf.Clamp (zAxis, zMin, zMax)); 
} 
Смежные вопросы