/
676767ap
/
AstroCatGame
Обзор
Документация
Войти
/
676767ap
/
AstroCatGame
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
controls/input.go
61 строка
2 KB
Anton Polikapov
Input refactoried to lib (ebitengine-input)
21 мар 2024, 18:12
21 мар 2024, 18:12
5adc6ae
Код
Авторство
О чём код?
package controls import ( "image" input "github.com/quasilyte/ebitengine-input" ) const ( ActionMoveLeft input.Action = iota ActionMoveRight ActionMoveUp ActionMoveDown ActionFirePrimary ActionFireSecondary ActionPause ActionChangePrimaryWeapon ActionChangeSecondaryWeapon ActionFireSpecWeapon ActionChangeSpecialWeapon ActionSubmit ActionMouseSubmit ActionEscape ) var InputSystem *input.System var InputHandler *input.Handler func init() { InputSystem = &input.System{} InputSystem.Init(input.SystemConfig{ DevicesEnabled: input.AnyDevice, }) InputHandler = InputSystem.NewHandler(0, addKeyMap()) } func addKeyMap() input.Keymap { return input.Keymap{ ActionMoveLeft: {input.KeyLeft, input.KeyA, input.KeyGamepadLeft}, ActionMoveRight: {input.KeyRight, input.KeyD, input.KeyGamepadRight}, ActionMoveUp: {input.KeyUp, input.KeyW, input.KeyGamepadUp}, ActionMoveDown: {input.KeyDown, input.KeyS, input.KeyGamepadDown}, ActionFirePrimary: {input.KeyMouseLeft, input.KeySpace, input.KeyGamepadL1}, ActionFireSecondary: {input.KeyMouseRight, input.KeyShift, input.KeyGamepadR1}, ActionPause: {input.KeyP, input.KeyGamepadStart}, ActionChangePrimaryWeapon: {input.KeyQ, input.KeyGamepadL2}, ActionChangeSecondaryWeapon: {input.KeyE, input.KeyGamepadR2}, ActionFireSpecWeapon: {input.KeyF}, ActionChangeSpecialWeapon: {input.KeyR}, ActionSubmit: {input.KeyEnter, input.KeyGamepadA}, ActionMouseSubmit: {input.KeyMouseLeft}, ActionEscape: {input.KeyEscape, input.KeyGamepadB}, } } func IsHovered(mouseX, mouseY int, rect image.Rectangle) bool { if mouseX >= rect.Min.X && mouseX <= rect.Max.X && mouseY >= rect.Min.Y && mouseY <= rect.Max.Y { return true } return false }