Ebitengine - A dead simple 2D game engine for Go
Go to file
Hajime Hoshi 32471af18f uidriver/js: Ensure that the checking-audio loop is finished when the game is finished
After the game loop is finished, any goroutines should not exist.
Otherwise, 'Go program has already exited' error can happen on
Wasm.

This change ensures that the goroutines are finished when the game
is finished. Note that time.Sleep was required to ensure that the
(*time.Ticker) ends.

Fixes #1027
2020-02-09 03:39:08 +09:00
.github Add FUNDING.yml 2019-12-07 19:00:46 +09:00
audio audio: Remove duplicate check for io.Seeker (#1051) 2020-01-10 19:37:31 +09:00
cmd/ebitenmobile cmd/ebitenmobile: Use 'go' directly 2020-01-24 22:50:50 +09:00
docs docs: Remove unused contents 2019-03-22 03:23:48 +09:00
ebitenutil ebitenutil: Cache sub images for debug print 2019-11-24 20:30:54 +09:00
event event: Add doc.go 2020-01-12 18:08:59 +09:00
examples examples/rotate: Revert resizeable window 2020-02-06 03:05:31 +09:00
inpututil inpututil: Package inpututil is no longer experimental 2018-05-14 01:32:55 +09:00
internal uidriver/js: Ensure that the checking-audio loop is finished when the game is finished 2020-02-09 03:39:08 +09:00
mobile uidriver/mobile: Implement IsForeground 2020-01-23 02:08:31 +09:00
text Make go vet a little happier on macOS 2019-07-22 20:16:22 +09:00
vector vector: Rename functions 2019-12-30 16:14:49 +09:00
.gitattributes Add .gitattributes for GitHub Linguist 2020-01-30 21:06:50 +09:00
.gitignore Add new example: squirals (#952) 2019-10-09 00:54:23 +09:00
.travis.yml Update Go version in .travis.yml (Go 1.14) 2020-02-09 01:47:55 +09:00
AUTHORS Add Sam Oen to AUTHORS 2020-02-01 17:29:18 +09:00
CODE_OF_CONDUCT.md Add CODE_OF_CONDUCT.md 2020-01-08 11:30:57 +09:00
colorm_test.go affine: Bug fix: ColorM.Apply was wrong when alpha is 0 2018-02-27 12:16:16 +09:00
colorm.go graphics: Marks ColorM as non-comparable explicitly 2019-10-31 01:55:59 +09:00
CONTRIBUTING.md docs: Update the links 2020-01-20 01:18:05 +09:00
copy_test.go graphics: Move functions to the package ebiten 2019-06-26 22:23:09 +09:00
copy.go graphics: Move functions to the package ebiten 2019-06-26 22:23:09 +09:00
cursormode.go ui: Rename files 2019-12-14 12:35:35 +09:00
debug_ebitendebug.go Add 'ebitendebug' build tag 2018-06-25 23:59:32 +09:00
debug_notebitendebug.go Add 'ebitendebug' build tag 2018-06-25 23:59:32 +09:00
doc.go Fix doc (#1046) 2020-01-06 19:43:29 +09:00
export_test.go mipmap: Create mipmap package and bufferd.Image uses it 2020-01-08 02:06:01 +09:00
gamepad.go input: Move MouseButton and GamepadButton to driver package 2019-03-30 23:19:52 +09:00
generate.go event: Auto-generate event definitions (#935) 2019-09-12 11:32:20 +09:00
genevents.go Fix misspellings 2019-10-12 01:10:53 +09:00
genkeys.go glfw: Update to GLFW 3.3 2019-11-26 01:19:20 +09:00
geom_test.go affine: Add TestGeoMEquals 2019-06-09 06:56:25 +09:00
geom.go affine: Add Skew function to GeoM 2018-08-01 14:15:30 +09:00
go.mod graphicsdriver/opengl: Leave comments why we don't use PBO on Android 2020-01-19 17:02:34 +09:00
go.sum graphicsdriver/opengl: Leave comments why we don't use PBO on Android 2020-01-19 17:02:34 +09:00
goversion.go Force to use Go 1.12 or later 2019-05-01 17:43:38 +09:00
graphics.go graphics: Move const definitions to driver package 2019-06-26 01:05:13 +09:00
image_test.go Revert "graphics: Avoid all copying pixels" 2019-11-16 02:04:46 +09:00
image.go graphicscommand: Return the error immediately (#1060) 2020-01-19 01:18:56 +09:00
imagedumper_desktop.go graphics: Fill the screenshot in black when the screen is not transparent 2020-02-06 03:08:16 +09:00
imagedumper_notdesktop.go Remove dependency on internal/png on mobiles and browsers 2018-11-14 00:37:51 +09:00
imageparts.go graphics: Experimental: (*image.Image).SubImage 2018-10-28 02:19:14 +09:00
input.go input: Rename GamepadGUID -> GamepadSDLID (#1049) 2020-01-11 15:50:37 +09:00
keys.go input: driver.Key now distinguishes left/right modifier keys 2019-09-01 23:49:00 +09:00
LICENSE Adjust LICENSE file 2017-01-30 18:57:49 +09:00
mousebuttons.go input: Move MouseButton and GamepadButton to driver package 2019-03-30 23:19:52 +09:00
README.md docs: Update the links 2020-01-20 01:18:05 +09:00
run.go ui: Bug fix: Images were not dumped with RunGame 2020-02-06 03:32:05 +09:00
uicontext.go graphicscommand: Return the error immediately (#1060) 2020-01-19 01:18:56 +09:00
uidriver_glfw.go Remove driver getters for the playground 2019-09-03 01:47:48 +09:00
uidriver_js.go Move back driver getters to ebiten package 2019-09-03 01:46:11 +09:00
uidriver_mobile.go Move back driver getters to ebiten package 2019-09-03 01:46:11 +09:00
window.go ui: Refactoring: Reduce global variables 2020-02-09 00:51:58 +09:00

Ebiten

Build Status Go Report Card

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.

Overview

Platforms

  • Windows (No Cgo!)
  • macOS
  • Linux
  • FreeBSD
  • Android
  • iOS
  • Web browsers (Chrome, Firefox, Safari and Edge)

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.