2013-07-03 40 views
0

Я пытаюсь сделать движение объекта вдоль оси X и Z (Z с помощью стрелок влево и вправо, X с вверх и стрелки вниз), не двигаясь вдоль оси Y. Я очень новичок в написании сценариев. Каждый раз, когда я меняю код, я все еще получаю движение вдоль оси Y, но не Z. Какой код мне нужно написать для такого движения?Изометрическое перемещение вдоль оси X и Z в единстве без движения по оси Y на всех

Спасибо!

+0

Можете привести пример кода, который вы пробовали? – DuckMaestro

ответ

1

Каждый вектор, параллельный плоскости XZ (компонент Y должен быть 0), не будет изменять положение объекта вдоль оси Y. Предположим, вы хотите перевести объект в мировом пространстве (? Вы), код может быть что-то вроде:

void Update() 
{ 
    float deltaX = Input.GetAxis ("Horizontal") * xSpeed; 
    float deltaZ = Input.GetAxis ("Vertical") * zSpeed; 

    Vector3 trans = new Vector3(deltaX,0f,deltaZ); 
    transform.Translate(trans * Time.deltaTime, Space.World);  

} 

Помните, что вы должны иметь в виду, что система отсчета вы принимаете его в Счет. Например, если вы переводите и подвергаете объекту прямое отношение к своей локальной системе отсчета, и эта система отсчета вращается относительно мировой оси, вы получите прямой перевод на локальную систему координат, но не в мире.

Смежные вопросы