Updated Tutorial:Your first game in Ebiten (markdown)

Hajime Hoshi 2016-12-28 11:05:46 +09:00
parent 12620f2f21
commit e89b6d6890

@ -4,7 +4,7 @@
![](http://i.imgur.com/NPbjFJp.png) ![](http://i.imgur.com/NPbjFJp.png)
And Ebiten is a cross-platform library, which means you can run Ebiten on these platforms: Ebiten is a cross-platform library, which means you can run Ebiten on these platforms:
* Desktop: Windows, Mac OS X, Linux * Desktop: Windows, Mac OS X, Linux
* Mobile: Android, iOS * Mobile: Android, iOS
@ -17,7 +17,7 @@ There're already [some examples available on the website](https://hajimehoshi.gi
Before we get started, you would need to `go get` the Ebiten package: Before we get started, you would need to `go get` the Ebiten package:
```bash ```bash
:; go get github.com/hajimehoshi/ebiten :; go get github.com/hajimehoshi/ebiten/...
``` ```
# Write your first game with Ebiten # Write your first game with Ebiten
@ -26,14 +26,14 @@ Once you got the Ebiten package, you can start to write your own game with Ebite
## Import Ebiten ## Import Ebiten
We'll use Ebiten in our program, so the first thing is to `import` the Ebiten package which we `go get` before, so put this code at the top of your program. We'll use Ebiten in our program, so the first thing is to `import` the Ebiten package which we `go get`-ed before, so put this code at the top of your program.
```go ```go
package main package main
import ( import (
"github.com/hajimehoshi/ebiten" "github.com/hajimehoshi/ebiten"
"github.com/hajimehoshi/ebiten/ebitenutil" "github.com/hajimehoshi/ebiten/ebitenutil" // This is required to draw debug texts.
) )
``` ```
@ -56,18 +56,20 @@ But hey! It's not done yet, because you'll need to tell Ebiten to run your `upda
## Initialize Ebiten ## Initialize Ebiten
It's time to configure Ebiten through `ebiten.Run(update, width, height, scale, title)`. This tells which function to loop, what title of our game is, and the size of the window. It's time to configure Ebiten through `ebiten.Run(update, width, height, scale, title)`. This tells which function to loop, the size of the window, and what title of our game is.
* `update` is the parameter that you would need to pass a function which will always be called at the each of the frame, and yes! We will pass our `update()` function though here. * `update` is the parameter that you would need to pass a function which will always be called at the each of the frame. We will pass our `update()` function though here.
* `width` and `height` are the width and the height of the game window. * `width` and `height` are the width and the height of the game window.
* `scale` is the value that will scale your game window, for example if you set it as `2` and draw a `16x16` canvas on the screen it'll be rendered as 32x32 (twice larger). * `scale` is the value that will scale your game window, for example if you set it as `2` and draw a `16x16` canvas on the screen it'll be rendered as 32x32 (twice larger).
* `title` is the title of the game window. * `title` is the title of the game window.
So what are we waiting for? Let's write the following code in your `main()` function! Let's write the following code in your `main()` function!
```go ```go
func main() { func main() {
ebiten.Run(update, 320, 240, 2, "Hello world!") if err := ebiten.Run(update, 320, 240, 2, "Hello world!"); err != nil {
panic(err)
}
} }
``` ```
@ -75,7 +77,7 @@ This will generate a 320x240 game window and it will be scaled twice larger (so
# Review # Review
Here's the fully example, it's short, isn't it? Here's the fully example:
```go ```go
package main package main