Сожалеем, но текст оригинала доступен только зарегистрированным пользователям. |
|
|
|
|
|
public class BaseInputController : MonoBehavior { //направляющие кнопки public bool Up; public bool Down; public bool Left; public bool Right; // кнопки стрельбы/действия public bool Fire1;
Arien0028
07.10.14 в 16:16
|
|
|
|
|
// слоты оружия public bool Slot1; public bool Slot2; public bool Slot3; public bool Slot4; public bool Slot5; public bool Slot6; public bool Slot7; public bool Slot8; public bool Slot9; public float vert; public float horz; public bool shouldRespawn; public Vector3 TEMPVec3; private Vector3 zeroVector = new Vector3(0,0,0);
Arien0028
07.10.14 в 16:16
|
|
|
|
|
public virtual void CheckInput () { // перегрузите для собственного кода для работы с вводом horz=Input.GetAxis ("Horizontal"); vert=Input.GetAxis ("Vertical"); } public virtual float GetHorizontal() { // rвозвращает из кэша наше вводное значение горизонтальной оси return horz; } public virtual float GetVertical() { // возвращает из кэша наше вводное значение вертикальной оси return vert; }
Arien0028
07.10.14 в 16:18
|
|
|
|
|
public virtual bool GetFire() { return Fire1; }
Arien0028
07.10.14 в 16:18
|
|
|
|
|
public bool GetRespawn() { return shouldRespawn; }
Arien0028
07.10.14 в 16:18
|
|
|
|
|
public virtual Vector3 GetMovementDirectionVector() { // вектор temp для направления движения получает значение ... // в другом случае неиспользованный вектор всегда имеет значение 0,0,0 TEMPVec3=zeroVector; // если мы идём влево или вправо, устанавливает X вектора скорости // вводному значению нашей горизонтальной оси if(Left || Right) { TEMPVec3.x=horz; } //если мы идём вверх или вниз, устанавливает X вектора скорости // вводному значению нашей аерткиальной оси if(Up || Down) { TEMPVec3.y=vert; } // возвращает вектор движения return TEMPVec3; } }
Arien0028
07.10.14 в 16:24
|
|
|
|
|
public class Keyboard_Input : BaseInputController { public override void CheckInput () { // Получает входные данные от вертикальной и горизонтальной оси и // хранит их внутри в vert и horz,поэтому нам не приходится // обращаться к ним каждый раз когда нам нужно выгрузить вводные данные vert= Input.GetAxis( "Vertical" ); horz= Input.GetAxis( "Horizontal" ); // устанавливает некоторые Boolean значения для вверха, низа, лево и право. Up = ( vert>0 ); Down = ( vert<0 ); Left = ( horz<0 ); Right = ( horz>0 ); // получет кнопки стрельбы/действия Fire1= Input.GetButton( "Fire1" ); shouldRespawn= Input.GetButton( "Fire3" ); } public void LateUpdate() { // проверяет вводные данные каждый раз как LateUpdate() подходит к следующей отметке CheckInput(); } }
Arien0028
07.10.14 в 16:31
|
|