Показать сообщение отдельно
Старый 14.02.2013, 11:33   #1
SGREED
ПроЭктировщик
 
Аватар для SGREED
 
Регистрация: 05.02.2013
Сообщений: 149
Написано одно полезное сообщение
Проблемы с бегом игрока

Вот есть код:
using UnityEngine;
 
public class 
Player MonoBehaviour
{
    
// скорость ходьбы и скорость поворота в секунду
    
public float moveSpeed 2;
    public 
float turnSpeed 90;
 
    private 
CharacterController _controller;
    private 
Transform _thisTransform;
 
    public 
void Start()
    {
        
// Получаем контроллер
        
_controller GetComponent<CharacterController>();
 
        
// Получаем компонент трансформации объекта, к которому привязан данный компонент
        
_thisTransform transform;
    }
  
void Update() {
        if (
Input.GetKey("q"))
        {
            
animation.Play ("run");
            
moveSpeed 4;
        }
        else
         if (
Input.GetKey("w"))
        {
            
animation.Play ("walk");
            
moveSpeed 2;
        }
        else
        {
            
animation.Play ("idle");
            
moveSpeed 2;
            }
    }
    public 
void FixedUpdate()
    {
        
// Рассчитываем позицию
        
_controller.Move(_thisTransform.forward moveSpeed Time.deltaTime Input.GetAxis("Vertical") +
                        
Vector3.down 10.0f Time.deltaTime);
          
                
// Рассчитываем поворот
        
Quaternion rot Quaternion.AngleAxis(
            
turnSpeed Time.deltaTime Input.GetAxis("Horizontal"), Vector3.up);
        
_thisTransform.rotation *= rot;

    }

клавиша " q " бежать, только когда нажимаешь " w " он идет а потом ище если нажать " q " он начинает воспроизводить анимацию и бежать.
вроде круто,
так вот, когда я просто нажму клавишу " q " (бежать) он не бежит а воспроизводит анимацию.
Как мне сделать так что бы в хотьбе была проверка if что когда скорость равна [2] и потом только можна задействувать бег?
(Offline)
 
Ответить с цитированием