mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-27 12:18:55 +01:00
196 lines
12 KiB
HTML
196 lines
12 KiB
HTML
<!DOCTYPE html>
|
|
<meta charset="utf-8">
|
|
<meta property="og:image" itemprop="image primaryImageOfPage" content="https://hajimehoshi.github.io/ebiten/images/logo.png">
|
|
<meta name="description" content="Ebiten - A dead simple 2D game library in Go">
|
|
<link rel="shortcut icon" href="./favicon.png" type="image/png">
|
|
<link rel="icon" href="./favicon.png" type="image/png">
|
|
<title>Ebiten - A dead simple 2D game library in Go</title>
|
|
|
|
<link rel="stylesheet" href="./stylesheets/bootstrap.min.css">
|
|
<link rel="stylesheet" href="./stylesheets/highlight-github.css">
|
|
<link rel="stylesheet" href="./stylesheets/ebiten.css">
|
|
<script src="./scripts/googleanalytics.js"></script>
|
|
|
|
<nav class="navbar"><div class="container">
|
|
<div class="d-flex flex-row" style="width: 100%;">
|
|
<div class="nav"><a class="navbar-brand" href="./"><img src="images/logo_white.svg" alt="EBITEN"></a></div>
|
|
<ul class="nav mr-auto align-middle">
|
|
<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="#projects-with-ebiten">Projects with Ebiten</a></li>
|
|
<li class="nav-item"><a class="nav-link" href="#getting-started">Getting Started</a></li>
|
|
</ul>
|
|
<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></li>
|
|
</ul>
|
|
</div>
|
|
</div></nav>
|
|
|
|
<header class="jumbotron jumbotron-fluid"><div class="container text-center">
|
|
<h1><img src="images/logo.svg" alt="EBITEN" style="width: 220px; height: 242px;"></h1>
|
|
<p class="lead">A dead simple 2D game library in Go</p>
|
|
</div></header>
|
|
|
|
<main><div class="container">
|
|
<p>Stable version: v1.7.2 / Development version: v1.8.0-alpha</p>
|
|
|
|
<h2 id="platforms">Platforms</h2>
|
|
<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">Chrome, Firefox, Safari and Edge (<a href="https://github.com/hajimehoshi/ebiten/wiki/GopherJS">GopherJS</a> and <a href="https://github.com/hajimehoshi/ebiten/wiki/WebAssembly">WebAssembly (Experimental)</a>)</dd>
|
|
</dl>
|
|
<p><small>Note: Gamepads and keyboard are not available on Android/iOS.</small></p>
|
|
|
|
<h2 id="features">Features</h2>
|
|
<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>
|
|
</dl>
|
|
|
|
<h2 id="examples">Examples</h2>
|
|
<h3>Games</h3>
|
|
<div class="row">
|
|
<div class="col-3">
|
|
<a href="./examples/2048.html"><img src="images/examples/2048.png" width="210" height="300" alt="Ebiten example: 2048" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/blocks.html"><img src="images/examples/blocks.png" width="256" height="240" alt="Ebiten example: blocks" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/flappy.html"><img src="images/examples/flappy.png" width="320" height="240" alt="Ebiten example: flappy" class="img-thumbnail"></a>
|
|
</div>
|
|
</div>
|
|
<h3>Graphics</h3>
|
|
<div class="row">
|
|
<div class="col-3">
|
|
<a href="./examples/airship.html"><img src="images/examples/airship.png" width="320" height="240" alt="Ebiten example: airship" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/alphablending.html"><img src="images/examples/alphablending.png" width="320" height="240" alt="Ebiten example: alphablending" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/drag.html"><img src="images/examples/drag.png" width="320" height="240" alt="Ebiten example: drag" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/filter.html"><img src="images/examples/filter.png" width="320" height="240" alt="Ebiten example: filter" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/flood.html"><img src="images/examples/flood.png" width="320" height="240" alt="Ebiten example: flood" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/font.html"><img src="images/examples/font.png" width="320" height="240" alt="Ebiten example: font" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/highdpi.html"><img src="images/examples/highdpi.png" width="320" height="240" alt="Ebiten example: highdpi" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/hsv.html"><img src="images/examples/hsv.png" width="320" height="240" alt="Ebiten example: hsv" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/hue.html"><img src="images/examples/hue.png" width="320" height="240" alt="Ebiten example: hue" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/infinitescroll.html"><img src="images/examples/infinitescroll.png" width="320" height="240" alt="Ebiten example: infinitescroll" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/life.html"><img src="images/examples/life.png" width="320" height="240" alt="Ebiten example: life" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/mandelbrot.html"><img src="images/examples/mandelbrot.png" width="320" height="320" alt="Ebiten example: mandelbrot" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/masking.html"><img src="images/examples/masking.png" width="320" height="240" alt="Ebiten example: masking" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/mosaic.html"><img src="images/examples/mosaic.png" width="320" height="240" alt="Ebiten example: mosaic" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/noise.html"><img src="images/examples/noise.png" width="320" height="240" alt="Ebiten example: noise" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/paint.html"><img src="images/examples/paint.png" width="320" height="240" alt="Ebiten example: paint" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/perspective.html"><img src="images/examples/perspective.png" width="320" height="240" alt="Ebiten example: perspective" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/rotate.html"><img src="images/examples/rotate.png" width="320" height="240" alt="Ebiten example: rotate" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/sprites.html"><img src="images/examples/sprites.png" width="320" height="240" alt="Ebiten example: sprites" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/tiles.html"><img src="images/examples/tiles.png" width="240" height="240" alt="Ebiten example: tiles" class="img-thumbnail"></a>
|
|
</div>
|
|
</div>
|
|
<h3>Input</h3>
|
|
<div class="row">
|
|
<div class="col-3">
|
|
<a href="./examples/gamepad.html"><img src="images/examples/gamepad.png" width="320" height="240" alt="Ebiten example: gamepad" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/keyboard.html"><img src="images/examples/keyboard.png" width="320" height="240" alt="Ebiten example: keyboard" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/typewriter.html"><img src="images/examples/typewriter.png" width="320" height="240" alt="Ebiten example: typewriter" class="img-thumbnail"></a>
|
|
</div>
|
|
</div>
|
|
<h3>Audio</h3>
|
|
<div class="row">
|
|
<div class="col-3">
|
|
<a href="./examples/audio.html"><img src="images/examples/audio.png" width="320" height="240" alt="Ebiten example: audio" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/piano.html"><img src="images/examples/piano.png" width="320" height="240" alt="Ebiten example: piano" class="img-thumbnail"></a>
|
|
</div><div class="col-3">
|
|
<a href="./examples/sinewave.html"><img src="images/examples/sinewave.png" width="320" height="240" alt="Ebiten example: sinewave" class="img-thumbnail"></a>
|
|
</div>
|
|
</div>
|
|
|
|
<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>
|
|
|
|
<h3>Execute the examples</h3>
|
|
<div class="card"><pre 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</code></pre></div>
|
|
<p>Note that you need to add <code>-tags=example</code> to run examples.</p>
|
|
|
|
<h2 id="projects-with-ebiten">Projects with Ebiten</h2>
|
|
<div class="row">
|
|
<div class="col-3">
|
|
<a href="https://github.com/hajimehoshi/go-inovation"><img src="images/projects/inovation.png" width="1024" height="500" alt="Inovation 2007" class="img-thumbnail"></a>
|
|
</div>
|
|
<div class="col-3">
|
|
<a href="http://blockbros.net/tsugunai/"><img src="images/projects/clock_of_atonement.png" width="480" height="480" alt="Clock of Atonement" class="img-thumbnail"></a>
|
|
</div>
|
|
<div class="col-3">
|
|
<a href="http://blockbros.net/bluebird/"><img src="images/projects/bluebird_of_happiness.png" width="540" height="540" alt="Bluebird of Happiness" class="img-thumbnail"></a>
|
|
</div>
|
|
</div>
|
|
<p><a href="https://github.com/hajimehoshi/ebiten/wiki/Works">Find more nice works with Ebiten!</a></p>
|
|
|
|
<h2 id="getting-started">Getting Started</h2>
|
|
|
|
<p>Let's build a simple "Hello world!" game to get started with Ebiten.
|
|
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>
|
|
|
|
<div class="card"><pre class="card-body"><code class="language-go">package main
|
|
|
|
import (
|
|
"github.com/hajimehoshi/ebiten"
|
|
"github.com/hajimehoshi/ebiten/ebitenutil"
|
|
)
|
|
|
|
func update(screen *ebiten.Image) error {
|
|
ebitenutil.DebugPrint(screen, "Hello world!")
|
|
return nil
|
|
}
|
|
|
|
func main() {
|
|
ebiten.Run(update, 320, 240, 2, "Hello world!")
|
|
}
|
|
</code></pre></div>
|
|
|
|
<p>Run the <code>go run</code> command to start the
|
|
game. There you have it, your first Ebiten game!</p>
|
|
|
|
</div></main>
|
|
|
|
<footer><div class="container">
|
|
<p>© 2013 Hajime Hoshi</p>
|
|
<p>Code is licensed under <a href="https://github.com/hajimehoshi/ebiten/blob/master/LICENSE">the Apache License 2.0</a>.</p>
|
|
<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>
|
|
|
|
<script src="./scripts/highlight.pack.js"></script>
|
|
<script>hljs.initHighlightingOnLoad();</script>
|