Если в игре используется мышка, при этом левая кнопка мыши назначена на Атаку, то при нажатии на кнопку интерфейса, герой начинает атаковать. Если кнопка интерфейса отвечает за атаку, то ничего страшного, но чаще всего это какая-то другая кнопка — вызов меню, открытие карты или окна инвентаря. В этом случае при нажатии левой кнопки мыши атаки быть не должно.
Чтобы игнорировать нажатие кнопки мыши, можно добавить в скрипт, где вызывается атака, несколько строчек для проверки. Если нажатие кнопки мыши было сделано поверх элемента UI (проверка с помощью IsPointerOverGameObject), то такое нажатие можно пропускать:
void Update()
{
HandleAttackAnimations();
if (!MouseLock.MouseLocked)
{
if (Input.GetButtonDown("Fire1"))
{
if (EventSystem.current.IsPointerOverGameObject())
{
return;
}
Attack();
}
}
MovementAndJumping();
}
DenTNT недавно публиковал (посмотреть все)
- C#: Сравнить два массива - 12.12.2024
- EVE-Online: Фильтры каналов - 23.11.2024
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024