Я также создаю свою игру для работы в SteamDeck.
Я пытаюсь использовать джойстик для управления курсором /мышью.
и щелкну на кнопку x.
По какой -то причине, когда я использую джойстик, я не могу видеть значок курсора. Значок курсора.
(на ПК он работает - используя мышь)
, и если я использую сенсорную панель, значок курсора, кажется, появляется на мгновение.public class InputManager : MonoBehaviour
{
public static InputManager Instance { get; private set; }
private PlayerControls playerControls;
private float lastClickTime = 0f;
public Vector2 CursorScreenPosition { get; private set; }
private void OnEnable() => playerControls.Enable();
private void OnDisable() => playerControls.Disable();
private void Awake()
{
if(Instance != null&& Instance != this){Destroy(gameObject); return; }
Instance = this;
playerControls = new PlayerControls();
playerControls.Gameplay.Click.performed += ctx => OnClick();
playerControls.Gameplay.CursorPosition.performed += ctx =>
{
Vector2 input = ctx.ReadValue();
if (input.sqrMagnitude > 0.0001f)
{
if (CursorScreenPosition == Vector2.zero)
CursorScreenPosition = new Vector2(Screen.width / 2f, Screen.height / 2f);
float cursorSpeed = 800f;
CursorScreenPosition += input * cursorSpeed * Time.deltaTime;
CursorScreenPosition = new Vector2(
Mathf.Clamp(CursorScreenPosition.x, 0, Screen.width),
Mathf.Clamp(CursorScreenPosition.y, 0, Screen.height)
);
Cursor.visible = true;
Cursor.lockState = CursorLockMode.None;
Mouse.current.WarpCursorPosition(CursorScreenPosition);
}
};
}
private void OnClick()
{
float clickDelay = 0.5f;
if (Time.time - lastClickTime >= clickDelay)
{
lastClickTime = Time.time;
Debug.Log("Click detected!");
}
}
public bool IsClickPerformed()
{
return playerControls.Gameplay.Click.WasPerformedThisFrame();
}
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... k-joystick
Не вижу курсора на джойстике SteamDeck ⇐ C#
Место общения программистов C#
1754834094
Anonymous
Я также создаю свою игру для работы в SteamDeck.
Я пытаюсь использовать джойстик для управления курсором /мышью.
и щелкну на кнопку x.
По какой -то причине, когда я использую джойстик, я не могу видеть значок курсора. Значок курсора.
(на ПК он работает - используя мышь)
, и если я использую сенсорную панель, значок курсора, кажется, появляется на мгновение.public class InputManager : MonoBehaviour
{
public static InputManager Instance { get; private set; }
private PlayerControls playerControls;
private float lastClickTime = 0f;
public Vector2 CursorScreenPosition { get; private set; }
private void OnEnable() => playerControls.Enable();
private void OnDisable() => playerControls.Disable();
private void Awake()
{
if(Instance != null&& Instance != this){Destroy(gameObject); return; }
Instance = this;
playerControls = new PlayerControls();
playerControls.Gameplay.Click.performed += ctx => OnClick();
playerControls.Gameplay.CursorPosition.performed += ctx =>
{
Vector2 input = ctx.ReadValue();
if (input.sqrMagnitude > 0.0001f)
{
if (CursorScreenPosition == Vector2.zero)
CursorScreenPosition = new Vector2(Screen.width / 2f, Screen.height / 2f);
float cursorSpeed = 800f;
CursorScreenPosition += input * cursorSpeed * Time.deltaTime;
CursorScreenPosition = new Vector2(
Mathf.Clamp(CursorScreenPosition.x, 0, Screen.width),
Mathf.Clamp(CursorScreenPosition.y, 0, Screen.height)
);
Cursor.visible = true;
Cursor.lockState = CursorLockMode.None;
Mouse.current.WarpCursorPosition(CursorScreenPosition);
}
};
}
private void OnClick()
{
float clickDelay = 0.5f;
if (Time.time - lastClickTime >= clickDelay)
{
lastClickTime = Time.time;
Debug.Log("Click detected!");
}
}
public bool IsClickPerformed()
{
return playerControls.Gameplay.Click.WasPerformedThisFrame();
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79731269/cant-see-cursor-on-steamdeck-joystick[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия