Ebitengine - A dead simple 2D game engine for Go
Go to file
Hajime Hoshi e2f26b9dac internal/gamepad: ignore the very first MotionEvent with 0 value for Android
On Android, MotionEvent with 0 values might come for axes when connecting
a gamepad, even though a user didn't touch any axes. This is problematic
especially for tirgger axes, where the default value should be -1.

This change fixes the issue by adding a new state `axesReady` to check
if an axis is really touched or not. If an axis is not touched yet,
a button value for a standard (trigger) button always returns 0.

This change also removes an old hack to initialize axis values for
triggers.

Closes #2598
2024-03-21 22:48:33 +09:00
.builds .builds: remove or replace GLU lib 2023-07-22 01:33:42 +09:00
.github .github/workflows: test Go 1.22 2024-02-10 15:27:51 +09:00
audio audio: bug fix: deadlock between a player and a context 2023-08-29 14:52:48 +09:00
cmd/ebitenmobile internal/gamepad: ignore the very first MotionEvent with 0 value for Android 2024-03-21 22:48:33 +09:00
colorm colorm: use any instead of interface{} 2023-06-30 23:56:26 +09:00
ebitenutil update bitmapfont to v3 2023-05-30 11:17:36 +09:00
examples internal/ui: bug fix: SetWindowIcon(nil) didn't reset the window icon 2023-09-30 02:51:23 +09:00
exp/textinput exp/textinput: fix comments 2023-08-02 21:02:34 +09:00
inpututil ebiten: add additional MouseButtons (#2467) 2022-11-23 04:28:34 +09:00
internal internal/gamepad: ignore the very first MotionEvent with 0 value for Android 2024-03-21 22:48:33 +09:00
misc misc: update README 2022-05-26 00:05:31 +09:00
mobile cmd/ebitenmobile: bug fix: accessing a view property caused deadlock on iOS 2023-09-21 19:37:39 +09:00
text text: deprecate BoundString 2023-06-10 19:21:04 +09:00
vector vector: update comments 2023-05-10 16:10:38 +09:00
.gitignore all: add .idea in .gitignore (#2432) 2022-11-03 16:14:37 +09:00
blend.go ebiten: add a faster way for common blends 2023-08-20 16:31:56 +09:00
CODE_OF_CONDUCT.md update CODE_OF_CONDUCT.md 2023-09-05 22:35:13 +09:00
colorm.go ebiten: update comments for ColorM 2023-03-18 11:24:16 +09:00
colorscale.go ebiten: add ColorScale.ScaleWithColorScale 2023-06-30 18:19:40 +09:00
compositemode.go ebiten: separate graphics.go into compositemode.go and it 2023-03-14 00:45:10 +09:00
CONTRIBUTING.md examples: remove example build tag (#2433) 2022-11-03 20:24:09 +09:00
cursor.go ebiten: add more cursor shapes 2023-07-23 00:49:45 +09:00
doc.go internal/graphicsdriver/opengl: add a debug mode with a build tag ebitenginegldebug 2023-04-22 13:17:08 +09:00
export_test.go internal/ui: move the error handlings to the ui package 2022-03-20 16:26:26 +09:00
gameforui.go ebiten: bug fix: wrong interpolation in the screen shader 2023-08-31 13:28:01 +09:00
gamepad.go internal/gamepaddb: move driver.StandardGamepadButton to gamepaddb.StandardButton 2022-02-05 23:11:09 +09:00
generate.go Bug fix: some generators did not work due to a lacked package 2020-03-23 01:36:21 +09:00
genevents.go all: fix typos (#2558) 2023-01-28 19:06:38 +09:00
genkeys.go ebiten: reduce a dependency on go-gl/glfw 2023-07-05 10:13:07 +09:00
geom_test.go Remove dot imports from tests - Remove dot imports (#1837) 2021-10-02 19:58:48 +09:00
geom.go ebiten: fixes a typo (#1930) 2022-01-05 15:06:41 +09:00
go.mod all: bug fix: update purego to v0.6.0 2024-02-10 15:11:41 +09:00
go.sum all: bug fix: update purego to v0.6.0 2024-02-10 15:11:41 +09:00
graphics.go ebiten: separate graphics.go into compositemode.go and it 2023-03-14 00:45:10 +09:00
image_test.go ebiten: bug fix: DrawImage/DrawRectShader unexpectedly modified the given options 2023-08-27 01:40:37 +09:00
image.go ebiten: bug fix: wrong conversion of 16bit to 8bit color values 2023-09-06 21:24:01 +09:00
imagedumper.go ebiten: bug fix: wrong screenshot file names 2023-11-16 23:00:51 +09:00
imagetobytes_test.go Remove dot imports from tests - Remove dot imports (#1837) 2021-10-02 19:58:48 +09:00
imagetobytes.go ebiten: Remove copying pixels from ReplacePixels and copyImage (renamed to imageToBytes) 2020-07-03 03:01:48 +09:00
input.go internal/ui: use float64 for cursor positions internally 2023-09-17 03:43:18 +09:00
keys.go go generate 2023-03-15 03:18:28 +09:00
LICENSE Adjust LICENSE file 2017-01-30 18:57:49 +09:00
monitor.go ebiten: remove (*Monitor).Bounds() 2023-09-23 18:25:47 +09:00
mousebuttons.go ebiten: swap the definition MouseButtonMiddle and MouseButtonRight 2022-11-27 13:51:09 +09:00
README.md update README 2023-08-29 01:42:20 +09:00
run_mobile.go ebiten: add RunGameOptions.ScreenTransparent 2022-12-09 22:50:57 +09:00
run.go ebiten: add more cursor shapes 2023-07-23 00:49:45 +09:00
shader_test.go internal/shader: bug fix: bitwise operators with assignment didn't work 2023-09-12 03:15:28 +09:00
shader.go ebiten, internal/builtinshader: use an array instead of a map 2023-08-20 05:20:52 +09:00
vibrate.go ebiten: typo 2022-09-24 09:37:59 +09:00
window.go ebiten: add SetWindowMousePassthrough and IsWindowMousePassthrough 2023-09-18 18:31:22 +09:00

Ebitengine (v2)

Go Reference Build Status

A dead simple 2D game engine for Go

Ebitengine (formerly known as Ebiten) is an open source game engine for the Go programming language. Ebitengine's simple API allows you to quickly and easily develop 2D games that can be deployed across multiple platforms.

Overview

Platforms

For installation on desktops, see the installation instruction.

Features

  • 2D Graphics (Geometry and color transformation by matrices, Various composition modes, Offscreen rendering, Text rendering, Automatic batches, Automatic texture atlas, Custom shaders)
  • Input (Mouse, Keyboard, Gamepads, Touches)
  • Audio (Ogg/Vorbis, MP3, WAV, PCM)

Packages

Community

License

Ebitengine is licensed under Apache license version 2.0. See LICENSE file.

The Ebitengine logo by Hajime Hoshi is licensed under the Creative Commons Attribution-NoDerivatives 4.0.