Показать сообщение отдельно
Старый 30.01.2013, 23:30   #123
mepihin
ПроЭктировщик
 
Регистрация: 31.12.2012
Сообщений: 165
Написано 5 полезных сообщений
(для 7 пользователей)
Ответ: Вотпросы от mepihin!

Вот переделал скрипт, все работает почти как надо, вот только одна проблема, когда я отпускаю Shift, то у игрока остается скорость 10... Как исправить?
#pragma strict

var SpeedOgran = 6.0;
var 
controller : CharacterController; 
var 
motor : CharacterMotor; 
var 
activeres = false;

function 
Start()
{
    
controller = GetComponent(CharacterController);
    
motor = GetComponent(CharacterMotor);
}
function 
Update()
{
    if(
Input.GetKey(KeyCode.LeftShift) && activeres == false) // Проверяем персонажа на нажатие кнопок W и lshift
    
{
        if(
controller.isGrounded && controller.velocity.magnitude > 0.3) // Проверяем персонажа на земле он или нет
        
{
            if(
SpeedOgran > 0) // проверяем персонажа на количество выносливости
            
{
                
SpeedOgran -= 1.0*Time.deltaTime;
                
motor.movement.maxForwardSpeed = 10;
            }
            if(
SpeedOgran <= 0 && activeres == false)
                {
                    
activeres = true;
                    
motor.movement.maxForwardSpeed = 6;
                }
        }

    }
    if(
activeres == true) SpeedOgran += 1.0*Time.deltaTime;
    if(
SpeedOgran > 6){ SpeedOgran = 6; activeres = false; }
} 
(Offline)
 
Ответить с цитированием