mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2025-01-12 20:18:59 +01:00
Ebitengine - A dead simple 2D game engine for Go
ebitenebitenginegamegame-2dgame-developmentgame-enginegame-engine-2dgame-librarygamedevgogolanggolang-library
237498e51f
This change adds an optional function Draw to the Game interface. With Draw function, the game logic and rendering are separate. There are some benefits: * The API is clearer and easier to understand. * When TPS < FPS, smoother rendering can be performed without changing the game logic depending on TPS. * Porting to XNA, which has separate functions Update and Draw, would be a little easier. Draw is optional due to backward compatibility. Game interface was already used before v1.11.x in mobile packages, and adding a function would break existing code unfortunately. Then, we adopted switching the behavior based on whether Draw is implemented or not by type assertions. IsDrawingSkipped will always return false when Draw is implemented. Fixes #1104 |
||
---|---|---|
.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 in Go
Ebiten is an open-source game library, with which you can develop 2D games with simple API for multi platforms in the Go programming language.
Platforms
- Windows (No Cgo!)
- macOS
- Linux
- FreeBSD
- Android
- iOS
- Web browsers (Chrome, Firefox, Safari and Edge)
- GopherJS
- WebAssembly (Experimental)
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.