ebiten/_docs/public/index.html

280 lines
11 KiB
HTML
Raw Normal View History

2014-12-27 16:26:33 +01:00
<!DOCTYPE html>
2014-12-29 15:52:37 +01:00
<!--
2016-05-14 14:15:27 +02:00
Copyright 2013 Hajime Hoshi
2014-12-27 16:26:33 +01:00
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
2014-12-29 15:16:02 +01:00
limitations under the License.
-->
2015-01-10 11:18:43 +01:00
<meta name="description" content="Ebiten - A simple SNES-like 2D game library in Go">
<link rel="shortcut icon" href="./favicon.png" type="image/png">
<link rel="icon" href="./favicon.png" type="image/png">
2014-12-28 09:14:56 +01:00
<title>Ebiten - A simple SNES-like 2D game library in Go</title>
2014-12-28 07:37:51 +01:00
<style>
2014-12-28 08:54:13 +01:00
body {
font-family: sans-serif;
}
2015-01-08 15:45:30 +01:00
img.example {
background-color: #000;
2015-01-05 16:44:39 +01:00
border-color: #999;
border-style: solid;
border-width: 1px;
2016-02-15 17:27:43 +01:00
image-rendering: crisp-edges;
image-rendering: pixelated;
2015-01-05 16:44:39 +01:00
}
2015-01-06 03:34:54 +01:00
pre {
background: #eee;
padding: 1em;
}
2014-12-28 07:37:51 +01:00
</style>
2016-04-21 19:31:26 +02:00
<a href="https://github.com/hajimehoshi/ebiten"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/365986a132ccd6a44c23a9169022c0b5c890c387/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f7265645f6161303030302e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_red_aa0000.png"></a>
2014-12-29 15:16:02 +01:00
<h1>Ebiten (海老天)</h1>
2016-05-14 14:15:27 +02:00
<p>Stable version: v1.4.0-alpha / Development version: v1.4.0-alpha</p>
2014-12-27 16:26:33 +01:00
<ul>
2014-12-28 09:12:17 +01:00
<li>A simple SNES-like 2D game library in Go</li>
2014-12-27 22:18:23 +01:00
<li>Works on
<ul>
<li>Web browsers (powered by <a href="http://gopherjs.org/">GopherJS</a>)
2015-01-08 15:45:30 +01:00
<ul>
2016-04-21 16:58:33 +02:00
<li>Supported browsers: Chrome and Firefox on desktops</li>
2015-01-08 15:45:30 +01:00
</ul>
</li>
2016-04-21 18:16:58 +02:00
<li>Windows</li>
2014-12-27 22:18:23 +01:00
<li>Mac OS X</li>
2016-02-23 20:17:57 +01:00
<li>Linux</li>
2014-12-27 22:18:23 +01:00
</ul>
</li>
2016-04-21 18:16:58 +02:00
<li><a href="http://godoc.org/github.com/hajimehoshi/ebiten"><img src="https://godoc.org/github.com/hajimehoshi/ebiten?status.svg" alt="GoDoc Reference"></a></li>
2014-12-27 16:26:33 +01:00
</ul>
2014-12-27 22:18:23 +01:00
<h2>Features</h2>
2014-12-27 16:26:33 +01:00
<ul>
<li>2D Graphics</li>
2015-01-13 03:25:23 +01:00
<li>Input (Mouse, Keyboard, Gamepad)</li>
2016-04-21 18:16:58 +02:00
<li>Audio (Ogg/Vorbis, WAV, and PCM)</li>
2014-12-27 16:26:33 +01:00
</ul>
2014-12-27 22:18:23 +01:00
<h2>Example</h2>
2015-01-08 15:45:30 +01:00
<p>
2016-04-13 18:26:31 +02:00
<a href="examples/alphablending.html"><img src="images/examples/alphablending.png" width="320" height="240" alt="Ebiten example: alphablending" class="example"></a><a href="examples/audio.html"><img src="images/examples/audio.png" width="320" height="240" alt="Ebiten example: audio" class="example"></a><a href="examples/font.html"><img src="images/examples/font.png" width="320" height="240" alt="Ebiten example: font" class="example"></a><a href="examples/hsv.html"><img src="images/examples/hsv.png" width="320" height="240" alt="Ebiten example: hsv" class="example"></a><a href="examples/hue.html"><img src="images/examples/hue.png" width="320" height="240" alt="Ebiten example: hue" class="example"></a><a href="examples/gamepad.html"><img src="images/examples/gamepad.png" width="320" height="240" alt="Ebiten example: gamepad" class="example"></a><a href="examples/keyboard.html"><img src="images/examples/keyboard.png" width="320" height="240" alt="Ebiten example: keyboard" class="example"></a><a href="examples/masking.html"><img src="images/examples/masking.png" width="320" height="240" alt="Ebiten example: masking" class="example"></a><a href="examples/mosaic.html"><img src="images/examples/mosaic.png" width="320" height="240" alt="Ebiten example: mosaic" class="example"></a><a href="examples/noise.html"><img src="images/examples/noise.png" width="320" height="240" alt="Ebiten example: noise" class="example"></a><a href="examples/paint.html"><img src="images/examples/paint.png" width="320" height="240" alt="Ebiten example: paint" class="example"></a><a href="examples/perspective.html"><img src="images/examples/perspective.png" width="320" height="240" alt="Ebiten example: perspective" class="example"></a><a href="examples/piano.html"><img src="images/examples/piano.png" width="320" height="240" alt="Ebiten example: piano" class="example"></a><a href="examples/rotate.html"><img src="images/examples/rotate.png" width="320" height="240" alt="Ebiten example: rotate" class="example"></a><a href="examples/sprites.html"><img src="images/examples/sprites.png" width="320" height="240" alt="Ebiten example: sprites" class="example"></a><a href="examples/blocks.html"><img src="images/examples/blocks.png" width="256" height="240" alt="Ebiten example: blocks" class="example"></a>
2015-01-08 15:45:30 +01:00
</p>
2014-12-27 22:18:23 +01:00
2016-02-28 06:10:41 +01:00
<h2>Install on Mac OS X or Windows</h2>
2016-04-13 18:15:35 +02:00
<p>Compilation requires a C compiler like GCC to compile third party libaries used by Ebiten. You would need <a href="http://www.mingw.org/">MinGW</a> on Windows, and would need Xcode on Mac OS X.</p>
<p>Let's get the Ebiten source code and compile it.</p>
2015-06-20 11:56:37 +02:00
<pre><code>:; go get github.com/hajimehoshi/ebiten</code></pre>
<p>If you want to run your game on a web browser, execute this:</p>
<pre><code>:; go get github.com/gopherjs/gopherjs
:; go get github.com/gopherjs/webgl</code></pre>
2014-12-27 16:26:33 +01:00
2016-02-23 20:17:57 +01:00
<h2>Install on Linux</h2>
2016-02-20 21:40:56 +01:00
<p>Before installing Ebiten, you might need these libraries:</p>
<ul>
<li>libglu1-mesa-dev</li>
<li>libgles2-mesa-dev</li>
<li>libxrandr-dev</li>
<li>libxcursor-dev</li>
<li>libxinerama-dev</li>
<li>libxi-dev</li>
</ul>
2016-02-23 20:17:57 +01:00
<p>Ebiten is tested on Ubuntu Linux x64.</p>
2016-02-20 21:40:56 +01:00
2014-12-27 22:18:23 +01:00
<h2>Execute the example</h2>
2016-02-13 15:02:54 +01:00
<pre><code>:; cd $GOPATH/src/github.com/hajimehoshi/ebiten/examples
2014-12-27 22:18:23 +01:00
:; go run rotate/main.go</code></pre>
2014-12-27 16:26:33 +01:00
2015-01-08 15:45:30 +01:00
<h2>Run your game on a desktop</h2>
<p>Just execute your Go program. That's it!</p>
<h2>Run your game on a web browser</h2>
2015-01-08 15:45:30 +01:00
<p>Compile your game with <a href="http://gopherjs.org/">GopherJS</a>:</p>
<pre><code>:; gopherjs build -o yourgame.js path/to/yourgame</code></pre>
<p>Then, open the below HTML on your HTTP server:</p>
<pre><code>&lt;!DOCTYPE html&gt;
&lt;script src="yourgame.js"&gt;&lt;/script&gt;</code></pre>
2015-01-08 15:45:30 +01:00
<p>NOTE: <code>file://</code> URL may not work with Ebiten. Execute your game on a HTTP server.</p>
2016-06-23 05:16:27 +02:00
<h2>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>
<pre><code>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>
<p>Run the <code>go run</code> command to start the
game. There you have it, your first Ebiten game!</p>
<h2>Apps created with Ebiten</h2>
<ul>
<li><a href="https://github.com/peterhellberg/plasma">Plasma</a> by Peter Hellberg</li>
2016-04-13 18:15:35 +02:00
<li><a href="https://github.com/hajimehoshi/go-inovation">go-inovation</a> by Hajime Hoshi</li>
2016-02-14 08:18:04 +01:00
<li><a href="https://github.com/martinkirsche/wired-logic">Wired Logic</a> by Martin Kirsche</li>
2016-04-13 18:15:35 +02:00
<li><a href="https://github.com/DrJosh9000/awakengine">AwakEngine</a> by Josh Deprez</li>
</ul>
2015-01-05 17:56:58 +01:00
<h2>Change Log</h2>
2016-05-14 14:15:27 +02:00
<h3>2016-05-14</h3>
<ul>
<li>v1.3.0 released.
<ul>
<li>Fixed some bugs</li>
</ul>
</li>
</ul>
2016-04-22 18:44:52 +02:00
<h3>2016-04-23</h3>
2016-04-13 18:15:35 +02:00
<ul>
<li>v1.3.0-rc1 released.
<ul>
<li>Added new platforms
<ul>
<li>Windows</li>
<li>Linux</li>
</ul>
</li>
2016-04-21 19:31:26 +02:00
<li>Graphics
2016-04-13 18:15:35 +02:00
<ul>
<li>Added CompositeMode to change composite mode (e.g. masking or additive drawing)</li>
</ul>
</li>
2016-04-21 19:31:26 +02:00
<li><a href="https://godoc.org/github.com/hajimehoshi/ebiten/audio">Audio</a>
2016-04-13 18:15:35 +02:00
<ul>
2016-04-21 19:31:26 +02:00
<li>Moved from exp/audio to audio: No more experimental package!</li>
2016-04-13 18:15:35 +02:00
<li>Changed APIs (almost fixed)</li>
2016-04-21 19:31:26 +02:00
<li>Added <a href="https://godoc.org/github.com/hajimehoshi/ebiten/audio/vorbis">exp/audio/vorbis</a> to decode Ogg/Vorbis stream</li>
<li>Added <a href="https://godoc.org/github.com/hajimehoshi/ebiten/audio/wav">exp/audio/wav</a> to decode Wav stream</li>
2016-04-13 18:15:35 +02:00
</ul>
</li>
<li>Others
<ul>
<li>Made most of functions concurrent-safe</li>
<li>Bug fix</li>
</ul>
</li>
</ul>
</li>
</ul>
2016-02-28 05:58:41 +01:00
<h3>2016-02-28</h3>
<ul>
<li>v1.2.0 released.
<ul>
<li>Fixed some bugs.</li>
</ul>
</li>
</ul>
2016-02-16 17:34:30 +01:00
<h3>2016-02-17</h3>
2015-01-13 03:25:23 +01:00
<ul>
<li>v1.2.0-rc1 released.
<ul>
2016-02-15 19:04:44 +01:00
<li>Added support for gamepads on desktops and browsers</li>
<li>Added support for touch events on browsers</li>
<li>Added new functions for image rendering:
2015-01-20 16:51:55 +01:00
<ul>
<li>Image.ReplacePixels</li>
2016-02-15 19:04:44 +01:00
<li>GeoM.Rotate</li>
<li>ColorM.RotateHue</li>
2015-01-20 16:51:55 +01:00
</ul>
</li>
2016-02-15 19:04:44 +01:00
<li>Added some experimental packages:
2015-01-25 12:16:53 +01:00
<ul>
<li>exp/audio: Play music and sound</li>
<li>exp/gamepad: Useful functions to configure gamepads</li>
<li>These packages are experimental and we don't guarantee backward compatibility.</li>
</ul>
</li>
2016-02-15 19:04:44 +01:00
<li>Deprecated some APIs:
2016-02-07 09:48:52 +01:00
<ul>
<li>TranslateGeo (Use GeoM's Translate instead)</li>
<li>ScaleGeo (Use GoeM's Scale instead)</li>
<li>RotateGeo (Use GoeM's Rotate instead)</li>
<li>TranslateColor (Use ColorM's Translate instead)</li>
<li>ScaleColor (Use ColorM's Scale instead)</li>
<li>RotateHue (Use ColorM's RotateHue instead)</li>
</ul>
</li>
2016-02-15 19:04:44 +01:00
<li>Fixed some bugs</li>
<li>Performance optimization</li>
2015-01-20 16:51:55 +01:00
</ul>
</li>
</ul>
2015-01-25 12:16:53 +01:00
<h3>2015-01-25</h3>
2015-01-20 16:51:55 +01:00
<ul>
<li>v1.1.0 released.
<ul>
2015-01-25 12:16:53 +01:00
<li>Fixed some bugs.</li>
2015-01-13 03:25:23 +01:00
</ul>
</li>
</ul>
2015-01-09 17:04:08 +01:00
<h3>2015-01-10</h3>
2015-01-05 17:56:58 +01:00
<ul>
<li>v1.1.0-rc1 released.
<ul>
<li>Support for web browsers: Ebiten now includes support for web browsers with GopherJS.</li>
<li>Some API has changed:
<ul>
<li>ImagePart is deprecated. Use ImageParts interface instead.</li>
<li>ColorM.Element and GeoM.Element's recievers changed from structs to pointers.</li>
2015-01-07 16:04:26 +01:00
<li>A lot of keyboard keys have been added. KeyMax and MouseButtonMax were removed.</li>
2015-01-05 17:56:58 +01:00
</ul>
</li>
2015-01-08 15:45:30 +01:00
<li>The game is stopped when the window is not active.</li>
2015-01-05 17:56:58 +01:00
</ul>
</li>
</ul>
<h3>2015-01-04</h3>
<ul>
<li>v1.0.0 released.
<ul>
<li>Nothing has changed from v1.0.0-rc1.</li>
</ul>
</li>
</ul>
<h3>2014-12-29</h3>
<ul>
<li>v1.0.0-rc1 released.</li>
</ul>
2014-12-27 22:18:23 +01:00
<h2>License</h2>
<h3>Ebiten</h3>
2016-05-14 14:15:27 +02:00
<pre>Copyright 2013 Hajime Hoshi
2014-12-27 16:26:33 +01:00
2014-12-27 22:18:23 +01:00
Licensed under the Apache License, Version 2.0 (the &#34;License&#34;);
2014-12-27 16:26:33 +01:00
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
2014-12-27 22:18:23 +01:00
distributed under the License is distributed on an &#34;AS IS&#34; BASIS,
2014-12-27 16:26:33 +01:00
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
2015-01-08 17:00:30 +01:00
limitations under the License.</pre>
<h3>Go Gopher photograph</h3>
<p><a href="http://blog.golang.org/go-programming-language-turns-two">The original photograph of Go gophers by Chris Nokleberg</a> is licensed under the Creative Commons 3.0 Attributions license.</p>
2015-01-08 15:45:30 +01:00
2016-05-14 14:15:27 +02:00
<footer>© 2013 Hajime Hoshi</footer>