1.47M
Category: programmingprogramming

Организация пользовательского ввода: Геймпады

1.

Название программы
Unity
2023
Тема занятия
Организация
пользовательского
ввода: Геймпады
Многоуровневое хранение данных ч.1

2.

2023
План
занятия
Unity
Введение
Практика Интеграция геймпадов в конфигуратор
Домашнее задание
Итоги
Изображение от Storyset на Freepik.com

3.

2023
Unity
Проверяем
домашнее задание
1.
Какие трудности возникли
при выполнении задания?
3.
2.
Как можно было бы
избежать трудностей?
4.
Какой информации не хватило
для выполнения задания?
Что больше всего понравилось/не
понравилось в процессе
выполнения задания?

4.

2023
Unity
Введение
public static bool GetKeyUp( JoystickKeyCode key, JoystickIndex
joystick = JoystickIndex.Any, float deadZone = 0.2f)
{
if (key == JoystickKeyCode.None)
{
return false;
}
if (key < 0)
{
int joyNum = (int)joystick;
Метод «GetKeyUp» аналогичен
по реализации методу «GetKeyDown»,
за небольшими исключениями.
if
(IntermediateJoystickKeyState[joyNum].ContainsKey(key) == false)
{
IntermediateJoystickKeyState[joyNum].Add(key, new
KeyStateInFrame());
}

5.

2023
Unity
Введение
if (PreviousJoystickKeyState[joyNum].ContainsKey(key) == false)
{
PreviousJoystickKeyState[joyNum].Add(key, new
KeyStateInFrame());
}
if (IntermediateJoystickKeyState[joyNum][key].frameTime !=
Time.time)
if (PreviousJoystickKeyState[joyNum][key].state == true
&& IntermediateJoystickKeyState[joyNum][key].state == false)
{
return true;
}
else
{
return false;
}
}
else
{
int joyNum = (int)joystick;
{
string joyNumStr = joyNum.ToString();
if (joyNum == 0) joyNumStr = null;
PreviousJoystickKeyState[joyNum][key].state =
IntermediateJoystickKeyState[0][key].state;
PreviousJoystickKeyState[joyNum][key].frameTime =
IntermediateJoystickKeyState[0][key].frameTime;
IntermediateJoystickKeyState[joyNum][key].state =
GetKey(key, joystick, deadZone);
IntermediateJoystickKeyState[joyNum][key].frameTime =
Time.time;
}
string buttonStr = GetJoystickKeyCodeDecrypt(key);
if (buttonStr == null) return false;
string axisName = "Joy" + joyNumStr + buttonStr;
return Input.GetButtonUp(axisName);
}
}

6.

2023
Введение
Ну и конечно же потребуется
метод «ResetSetup», чтобы пользователь
смог быстро исправить все,
что он «натворил» в настройках.
English     Русский Rules