Показать сообщение отдельно
Старый 08.04.2013, 22:26   #1
mepihin
ПроЭктировщик
 
Регистрация: 31.12.2012
Сообщений: 165
Написано 5 полезных сообщений
(для 7 пользователей)
Как ограничить присядание C#

Есть скрипт на то, чтобы игрок приседал и уменьшал скорость ходьбы. Но есть проблема, у меня также скрипт бега есть, который просто увеличивает скорость мотора. Так вот, проблема в том, что, когда я нажимаю LCtrl и LShift, то игрок вприсядку бежит))) то есть скорость становиться скоростью бега, а игрок сидит. Как исправить?
using UnityEngine;
using System.Collections;

public class Sit : MonoBehaviour {
	
	private bool issit = false;
	private CharacterController controller;
	private CharacterMotor motor;
	
	void Start()
	{
		controller = transform.GetComponent<CharacterController>();
		motor = GetComponent<CharacterMotor>();
	}
	
	void Update()
	{
			if(Input.GetKey(KeyCode.LeftControl) && issit == false)
			{ 
				issit = true; 
				controller.height = 1; 
				motor.movement.maxForwardSpeed = 2;
			}
			else if(Input.GetKeyUp(KeyCode.LeftControl) && issit == true)
			{ 
				transform.position = new Vector3(transform.position.x,transform.position.y+0.5f,transform.position.z); 
				issit = false; 
				controller.height = 2; 
				motor.movement.maxForwardSpeed = 4;
			}
		}
	}
	
}
(Offline)
 
Ответить с цитированием