2014-12-27 16:26:33 +01:00
<!DOCTYPE html>
2016-08-27 17:58:27 +02:00
< script src = "./scripts/force-https.js" > < / script >
2017-04-18 03:27:32 +02:00
< meta name = "description" content = "Ebiten - A simple 2D game library in Go" >
2015-01-10 11:18:43 +01:00
< link rel = "shortcut icon" href = "./favicon.png" type = "image/png" >
< link rel = "icon" href = "./favicon.png" type = "image/png" >
2017-04-18 03:27:32 +02:00
< title > Ebiten - A simple 2D game library in Go< / title >
2016-08-27 17:48:15 +02:00
< link rel = "stylesheet" href = "./stylesheets/bootstrap.min.css" >
< link rel = "stylesheet" href = "./stylesheets/highlight-github.css" >
< link rel = "stylesheet" href = "./stylesheets/ebiten.css" >
2016-08-29 02:51:38 +02:00
< script src = "./scripts/googleanalytics.js" > < / script >
2014-12-27 22:18:23 +01:00
2016-08-26 19:28:57 +02:00
< header class = "navbar" > < div class = "container" >
2017-08-17 18:22:19 +02:00
< nav class = "d-flex flex-row" style = "width: 100%;" >
< div >
< a class = "navbar-brand" href = "./" > Ebiten< / a >
< / div >
< ul class = "nav mr-auto" >
< li class = "nav-item" > < a class = "nav-link" href = "#platforms" > Platforms< / a > < / li >
< li class = "nav-item" > < a class = "nav-link" href = "#features" > Features< / a > < / li >
< li class = "nav-item" > < a class = "nav-link" href = "#examples" > Examples< / a > < / li >
< li class = "nav-item" > < a class = "nav-link" href = "#getting-started" > Getting Started< / a > < / li >
2016-08-26 19:37:08 +02:00
< / ul >
2017-08-17 18:22:19 +02:00
< ul class = "nav" >
< li class = "nav-item" > < a class = "nav-link" href = "https://github.com/hajimehoshi/ebiten" > GitHub< / a > < / li >
< li class = "nav-item" > < a class = "nav-link" href = "https://godoc.org/github.com/hajimehoshi/ebiten" > GoDoc< / a > < / li >
< li class = "nav-item" > < a class = "nav-link" href = "https://github.com/hajimehoshi/ebiten/wiki" > Wiki< / a >
2016-08-26 19:37:08 +02:00
< / ul >
2016-08-26 19:28:57 +02:00
< / nav >
< / div > < / header >
2014-12-27 22:18:23 +01:00
2016-08-26 19:28:57 +02:00
< main > < div class = "container" >
2016-08-26 22:33:27 +02:00
< h1 > Ebiten< / h1 >
2017-04-18 03:27:32 +02:00
< p class = "lead" > A simple 2D game library in Go< / p >
2016-08-26 19:28:57 +02:00
< p > Stable version: v{{.StableVersion}} / Development version: v{{.DevVersion}}< / p >
2016-08-28 00:26:03 +02:00
< h2 id = "platforms" > Platforms< / h2 >
2017-08-17 18:22:19 +02:00
< dl class = "row" >
< dt class = "col-2 text-right" > Desktops< / dt >
< dd class = "col-10" > < a href = "https://github.com/hajimehoshi/ebiten/wiki/Windows" > Windows< / a > , < a href = "https://github.com/hajimehoshi/ebiten/wiki/macOS" > macOS< / a > , < a href = "https://github.com/hajimehoshi/ebiten/wiki/Linux" > Linux< / a > , < a href = "https://github.com/hajimehoshi/ebiten/wiki/FreeBSD" > FreeBSD< / a > < / dd >
< dt class = "col-2 text-right" > Mobiles< / dt >
< dd class = "col-10" > < a href = "https://github.com/hajimehoshi/ebiten/wiki/Android" > Android< / a > , < a href = "https://github.com/hajimehoshi/ebiten/wiki/iOS" > iOS< / a > < / dd >
< dt class = "col-2 text-right" > Web browsers< / dt >
< dd class = "col-10" > < a href = "https://github.com/hajimehoshi/ebiten/wiki/Web-Browsers" > Chrome, Firefox and Safari on desktops< / a > (powered by < a href = "http://gopherjs.org/" > GopherJS< / a > )< / dd >
2016-08-28 00:26:03 +02:00
< / dl >
2016-11-28 19:42:16 +01:00
< p > < small > Note: Gamepads is not available on Safari/Android/iOS. Keyboard is not available on Android/iOS.< / small > < / p >
2016-08-26 19:28:57 +02:00
< h2 id = "features" > Features< / h2 >
2017-08-17 18:22:19 +02:00
< dl class = "row" >
< dt class = "col-2 text-right" > 2D Graphics< / dt >
< dd class = "col-10" > Geometry/Color matrix transformation, Various composition modes, Offscreen rendering, Fullscreen, Text rendering< / dd >
< dt class = "col-2 text-right" > Input< / dt >
< dd class = "col-10" > Mouse, Keyboard, Gamepads, Touches< / dd >
< dt class = "col-2 text-right" > Audio< / dt >
< dd class = "col-10" > MP3, Ogg/Vorbis, WAV, PCM, Syncing with game progress< / dd >
2016-08-28 00:20:34 +02:00
< / dl >
2016-08-26 19:28:57 +02:00
< h2 id = "examples" > Examples< / h2 >
< div class = "row" >
2016-02-28 06:23:46 +01:00
{{range .Examples -}}
2017-08-17 18:22:19 +02:00
< div class = "col-3" >
< a scrolling = "no" href = "examples/{{.Name}}.html" > < img src = "images/examples/{{.Name}}.png" width = "{{.ThumbWidth}}" height = "{{.ThumbHeight}}" alt = "Ebiten example: {{.Name}}" class = "img-thumbnail example" > < / a >
2016-08-26 19:28:57 +02:00
< / div >
2016-02-28 06:23:46 +01:00
{{- end}}
2016-08-26 19:28:57 +02:00
< / div >
2016-08-27 17:58:27 +02:00
< p > < a href = "https://blog.golang.org/go-programming-language-turns-two" > The Gopher photographs by Chris Nokleberg< / a > are licensed under < a href = "https://creativecommons.org/licenses/by/3.0/" > the Creative Commons 3.0 Attributions License< / a > .< / p >
2014-12-27 22:18:23 +01:00
2016-08-26 19:28:57 +02:00
< h3 > Execute the examples< / h2 >
2017-08-17 18:22:19 +02:00
< pre class = "card" > < div class = "card-body" > < code class = "language-bash" > go get github.com/hajimehoshi/ebiten/...
cd $GOPATH/src/github.com/hajimehoshi/ebiten/examples
go run -tags=example rotate/main.go< / div > < / code > < / pre >
2016-10-15 18:14:22 +02:00
< p > Note that you need to add < code > -tags=example< / code > to run examples.< / p >
2016-08-25 18:21:01 +02:00
2016-08-26 19:28:57 +02:00
< h2 id = "getting-started" > Getting Started< / h2 >
2014-12-27 22:18:23 +01:00
2016-08-26 19:28:57 +02:00
< p > Let's build a simple "Hello world!" game to get started with Ebiten.
2016-06-23 05:15:34 +02:00
First create a new directory (< code > mkdir hello_world< / code > ), and change
into it (< code > cd hello_world< / code > ). Type the following code into
the < code > main.go< / code > file:< / p >
2017-08-17 18:22:19 +02:00
< pre class = "card" > < div class = "card-body" > < code class = "language-go" > package main
2016-06-23 05:15:34 +02:00
import (
2016-08-26 22:36:52 +02:00
"github.com/hajimehoshi/ebiten"
"github.com/hajimehoshi/ebiten/ebitenutil"
2016-06-23 05:15:34 +02:00
)
func update(screen *ebiten.Image) error {
2017-03-04 04:04:19 +01:00
ebitenutil.DebugPrint(screen, "Hello world!")
2016-08-26 22:36:52 +02:00
return nil
2016-06-23 05:15:34 +02:00
}
func main() {
2016-08-26 22:36:52 +02:00
ebiten.Run(update, 320, 240, 2, "Hello world!")
2016-06-23 05:15:34 +02:00
}
2017-08-17 18:22:19 +02:00
< / div > < / code > < / pre >
2016-06-23 05:15:34 +02:00
2016-08-26 19:28:57 +02:00
< p > Run the < code > go run< / code > command to start the
2016-06-23 05:15:34 +02:00
game. There you have it, your first Ebiten game!< / p >
2016-08-26 19:28:57 +02:00
< / div > < / main >
2015-01-08 15:45:30 +01:00
2016-08-26 19:28:57 +02:00
< footer > < div class = "container" >
< p > {{.Copyright}}< / p >
2016-08-28 00:10:41 +02:00
< p > Code is licensed under < a href = "https://github.com/hajimehoshi/ebiten/blob/master/LICENSE" > the Apache License 2.0< / a > .< / p >
2016-08-26 19:28:57 +02:00
< p > The content of this page is licensed under < a href = "https://creativecommons.org/licenses/by/4.0/" > the Creative Commons Attribution 4.0 License< / a > .< / p >
< / div > < / footer >
2016-08-27 07:00:06 +02:00
2016-08-27 17:48:15 +02:00
< script src = "./scripts/highlight.pack.js" > < / script >
2016-08-27 07:00:06 +02:00
< script > hljs . initHighlightingOnLoad ( ) ; < / script >