Last active
August 29, 2015 14:26
-
-
Save seamanmur/18990eb4745357a5d83e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using UnityEngine; | |
class CharController : MonoBehaviour | |
{ | |
//Ссылка на компонент - CharacterController | |
public static CharacterController unityController; | |
//Ссылка на себя - на класс CharController | |
public static CharController instance; | |
//Результат - вектор движения. | |
public Vector3 move; | |
//Размер мертвой зоны | |
private const float _DEAD_ZONE = 0.1f; | |
void Awake() | |
{ | |
//Запоминаем ссылку на себя | |
instance = this; | |
//Находим компонент - CharacterController | |
unityController = GetComponent("CharacterController") as CharacterController; | |
//Просим у класса камеры найти камеру в сцене | |
CharTPSCamera.GetCamera(); | |
} | |
void Update() | |
{ | |
//Если камеры нет - ничего не делаем | |
if (Camera.main == null) return; | |
//Обрабатываем введенные игроком данные | |
GetInput(); | |
//Говорим CharMotor, что пора двигаться | |
CharMotor.instance.UpdateMotor(move); | |
} | |
private void GetInput() | |
{ | |
CharMotor chM = CharMotor.instance; | |
//На сколько сместились по "вертикали" (т.е. вперед/назад) | |
float vert = Input.GetAxis("Vertical"); | |
//На сколько сместились по "горизонтали" (т.е. влево/вправо) | |
float horiz = Input.GetAxis("Horizontal"); | |
//Обнуляем вектор движения | |
move = Vector3.zero; | |
//Если смещение по "вертикали" вышло из мертвой зоны | |
if (vert > _DEAD_ZONE || vert < -_DEAD_ZONE) | |
//Прибавляем к вектору движения это смещение | |
move += new Vector3(0, 0, vert); | |
//Если смещение по "горизонтали" вышло из мертвой зоны | |
if (horiz > _DEAD_ZONE || horiz < -_DEAD_ZONE) | |
//Прибавляем к вектору движения это смещение | |
move += new Vector3(horiz, 0, 0); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment