mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-11-10 04:57:26 +01:00
Ebitengine - A dead simple 2D game engine for Go
ebitenebitenginegamegame-2dgame-developmentgame-enginegame-engine-2dgame-librarygamedevgogolanggolang-library
982a68e5a2
Durations for key presses and gamepad button presses were being stored in map[int]int, where the key values were always small integers, and furthermore, were always contiguous and contained the whole set. It's much faster and cheaper to do those with slices. We could probably do this with mouse buttons, but I was wary of that code because I don't see any handling for more-than-three-button mice. Similar logic could perhaps apply to touch events, but there it might make more sense to use a dynamic allocation of some kind. It might be more efficient to just swap the two slices back and forth, computing the new values from the previous values and then swapping the slice arrays themselves, but that seemed like a more intrusive change. |
||
---|---|---|
.github | ||
audio | ||
cmd/ebitenmobile | ||
docs | ||
ebitenutil | ||
examples | ||
inpututil | ||
internal | ||
mobile | ||
text | ||
vector | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
AUTHORS | ||
CODE_OF_CONDUCT.md | ||
colorm_test.go | ||
colorm.go | ||
CONTRIBUTING.md | ||
copy_test.go | ||
copy.go | ||
cursormode.go | ||
debug_ebitendebug.go | ||
debug_notebitendebug.go | ||
doc.go | ||
export_test.go | ||
gamepad.go | ||
generate.go | ||
genevents.go | ||
genkeys.go | ||
geom_test.go | ||
geom.go | ||
go.mod | ||
go.sum | ||
goversion.go | ||
graphics.go | ||
image_test.go | ||
image.go | ||
imagedumper_desktop.go | ||
imagedumper_notdesktop.go | ||
imageparts.go | ||
init.go | ||
input.go | ||
keys.go | ||
LICENSE | ||
mousebuttons.go | ||
README.md | ||
run.go | ||
uicontext.go | ||
uidriver_glfw.go | ||
uidriver_js.go | ||
uidriver_mobile.go | ||
window.go |
Ebiten
A dead simple 2D game library for Go
Ebiten is an open source game library for the Go programming language. Ebiten's simple API allows you to quickly and easily develop 2D games that can be deployed across multiple platforms.
Platforms
Note: Gamepad and keyboard are not available on Android/iOS.
For installation on desktops, see the installation instruction.
Features
- 2D Graphics (Geometry/Color matrix transformation, Various composition modes, Offscreen rendering, Fullscreen, Text rendering, Automatic batches, Automatic texture atlas)
- Input (Mouse, Keyboard, Gamepads, Touches)
- Audio (Ogg/Vorbis, MP3, WAV, PCM)
Packages
Community
Slack
#ebiten
channel in Gophers Slack
License
Ebiten is licensed under Apache license version 2.0. See LICENSE file.