Ebitengine - A dead simple 2D game engine for Go
Go to file
Hajime Hoshi 7d56e4335e ui: Add RunGame, WindowSize and SetWindowSize
This change introduces the new APIs RunGame, WindowSize and
SetWindowSize. These new APIs hides the notion of 'scale', and is
more flexible with the outside size change. This means that we can
introduce a resizable window.

This change also adds -legacy flag to examples/windowsize. If the
flag is off, the new APIs are used.

This change deprecates these functions since the notion of 'scale'
is deprecated:

  * ScreenScale
  * ScreenSizeInFullscreen
  * SetScreenScale
  * SetScreenSize

Fixes #943, #571
Updates #320
2019-12-22 03:35:31 +09:00
.github Add FUNDING.yml 2019-12-07 19:00:46 +09:00
audio Revert "audio: Bug fix: Fill empty data even when audio is suspended" 2019-11-09 15:24:56 +09:00
cmd/ebitenmobile cmd/ebitenmobile: Refactoring 2019-10-19 02:28:55 +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 Fix misspellings 2019-10-12 01:10:53 +09:00
examples ui: Add RunGame, WindowSize and SetWindowSize 2019-12-22 03:35:31 +09:00
inpututil inpututil: Package inpututil is no longer experimental 2018-05-14 01:32:55 +09:00
internal ui: Add RunGame, WindowSize and SetWindowSize 2019-12-22 03:35:31 +09:00
mobile driver: Add UI.SetWindowSize and UIContext.Layout 2019-12-15 02:29:43 +09:00
text Make go vet a little happier on macOS 2019-07-22 20:16:22 +09:00
vector graphics: Fix wrong comments 2019-07-31 01:58:54 +09:00
.gitignore Add new example: squirals (#952) 2019-10-09 00:54:23 +09:00
.travis.yml test: Update Go version in TravisCI 2019-12-18 12:53:17 +09:00
AUTHORS Add Zoron to AUTHORS 2019-12-17 21:30:13 +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 CONTRIBUTING.md 2019-11-03 15:23:45 +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 ui: Add RunGame, WindowSize and SetWindowSize 2019-12-22 03:35:31 +09:00
export_test.go graphics: Use 'negative' mipmap when enlarging a too small image 2019-07-30 23:03:55 +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 Enable to compile Ebiten on js/wasm with Go 1.14 2019-12-19 00:45:53 +09:00
go.sum Enable to compile Ebiten on js/wasm with Go 1.14 2019-12-19 00:45:53 +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
graphicsdriver_ios.go Add 'ebitengl' build tag to force to use GL 2019-10-13 16:58:33 +09:00
graphicsdriver_mac.go Add 'ebitengl' build tag to force to use GL 2019-10-13 16:58:33 +09:00
graphicsdriver_opengl.go Add 'ebitengl' build tag to force to use GL 2019-10-13 16:58:33 +09:00
image_test.go Revert "graphics: Avoid all copying pixels" 2019-11-16 02:04:46 +09:00
image.go docs: Update the links 2019-11-19 01:59:36 +09:00
imagedumper_desktop.go graphics: Refactoring: Remove imports 2019-09-19 02:17:35 +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 Move back driver getters to ebiten package 2019-09-03 01:46:11 +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
mipmap_test.go graphics: Use 'negative' mipmap when enlarging a too small image 2019-07-30 23:03:55 +09:00
mipmap.go restorable: Refactoring: Remove Clear 2019-12-02 03:03:07 +09:00
mousebuttons.go input: Move MouseButton and GamepadButton to driver package 2019-03-30 23:19:52 +09:00
README.md Update README.md (#1020) 2019-12-17 21:27:30 +09:00
run.go ui: Add RunGame, WindowSize and SetWindowSize 2019-12-22 03:35:31 +09:00
uicontext.go ui: Add RunGame, WindowSize and SetWindowSize 2019-12-22 03:35:31 +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
vertex.go Reland: graphics: Reuse vertices backend and reduce allocating 2019-09-29 01:36:00 +09:00
window.go ui: Add RunGame, WindowSize and SetWindowSize 2019-12-22 03:35:31 +09:00

Ebiten

Build Status GoDoc 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.