2018/04/30

ebitenのexamplesを動かしてgopherjsやgomobileを使ってみたよ

はじめに


公式のサンプル集から ebiten のBest practiceを学ぼうと思っていろいろ触ってみることにした。
まずは examplesのREADME を読むべし。

動かしてみる


gopherjs


gopherjs使ったことないので、とりあえずインストール。そして実行。

gopherjs serve --tags=example

ぐぬぬ、なんかエラーが。。(´・ω・`)

$ gopherjs.exe serve --tags=example
serving at http://localhost:8080 and on port 8080 of any available addresses
/src/syscall/syscall_nonlinux.go:5:18: undeclared name: SYS_EXIT
/src/syscall/syscall.go:53:39: too few arguments in call to Syscall
/src/syscall/syscall_nonlinux.go:5:18: undeclared name: SYS_EXIT
/src/syscall/syscall.go:53:39: too few arguments in call to Syscall
/src/syscall/syscall_nonlinux.go:5:18: undeclared name: SYS_EXIT
/src/syscall/syscall.go:53:39: too few arguments in call to Syscall



gopherjs公式のREADMEWindows環境では、GOOS=linuxをつけてgopherjsを実行させる必要があります って書いてありますね。うん、俺が悪かった(´・ω・`)

公式READMEの該当箇所は以下。
If you're on a different platform (e.g., Windows or FreeBSD), you'll need to set the GOOS environment variable to a supported value. For example, GOOS=linux gopherjs build [package].
気を取り直して実行するとこんな感じ。

GOOS=linux gopherjs serve --tags=example


意図的に「Webブラウザで動作させるためのコード」とか書かなくても
ブラウザ上でebitenライブラリを使ったGo言語のゲームがうごく!ぱねぇ!٩( 'ω' )و


gomobile


$ gomobile install -tags="gomobilebuild example" github.com/hajimehoshi/ebiten/examples/rotate
D:\dev\bin\gomobile.exe: no Android NDK path is set. Please run gomobile init with the ndk-bundle installed through the Android SDK manager or with the -ndk flag set.

なるほど、 Android NDK へのパスが通っていないから怒っていて、-ndk フラグ付きで gomobile init しろと言っておられるようだ。指示の通り、以下の手順で解消する。

  1. Android NDKの公式ページからダウンロード
  2. 解凍して配置
    •  
  3. コマンド実行 
    • gomobile init -ndk /d/usr/local/bin/android-ndk-r16b 
    • 上記の例は「D:\usr\local\bin\android-ndk-r16b」に展開した場合。git-bashで作業してます。

実機にインストール


$ gomobile install -tags="gomobilebuild example" github.com/hajimehoshi/ebiten/examples/rotate
* daemon not running. starting it now at tcp:5037 *
* daemon started successfully *
adb: error: failed to get feature set: no devices/emulators found

いやぁ、すみませんすみません、実機をPCにつなぎ忘れてましたすみません(´・ω・`)


Android Studioのメニューから [Tools]-[Android SDK]を選択。上図のようにGoogle USB Driverをインストールします。(NDKもここでインストールすればよかったのでしょうね、、ハハッ(´・ω・`))

デバッグ用のAndroid実機をデバッグモードにしてPCに接続し、adbコマンドでエラーがでないことを確認したら再度以下のコマンドを実行!

gomobile install -tags="gomobilebuild example" github.com/hajimehoshi/ebiten/examples/rotate

examplesのrotateゲームがスマホにインストールされました!٩( 'ω' )و
Go言語のエコシステムもebitenも最高やなぁって思いました(小並感

0 件のコメント: