mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2025-02-05 23:44:31 +01:00
Destroyed WebAssembly (markdown)
parent
4b5196dc85
commit
bf9660c0a7
@ -1,60 +0,0 @@
|
|||||||
The easiest way is to Dave's awesome [wasmgo](https://github.com/dave/wasmgo)
|
|
||||||
|
|
||||||
This article introduces a regular way to build an Ebiten app as a WebAssembly port.
|
|
||||||
|
|
||||||
# Requirements
|
|
||||||
|
|
||||||
* Go 1.11 or later
|
|
||||||
* Ebiten 1.8.0 or later
|
|
||||||
|
|
||||||
# Option 1. WasmGo
|
|
||||||
|
|
||||||
Upload your package via wasmgo. See https://github.com/dave/wasmgo
|
|
||||||
|
|
||||||
# Option 2. WasmServe
|
|
||||||
|
|
||||||
```sh
|
|
||||||
go get github.com/hajimehoshi/wasmserve
|
|
||||||
cd yourgame
|
|
||||||
wasmserve
|
|
||||||
```
|
|
||||||
|
|
||||||
Then access `http://localhost:8080/`.
|
|
||||||
|
|
||||||
# Option 3. Regular
|
|
||||||
|
|
||||||
## Compile your game
|
|
||||||
|
|
||||||
```sh
|
|
||||||
GOOS=js GOARCH=wasm go build -o yourgame.wasm github.com/yourname/yourgame
|
|
||||||
```
|
|
||||||
|
|
||||||
## Copy `wasm_exec.js` to execute the Wasm binary
|
|
||||||
|
|
||||||
```sh
|
|
||||||
cp $GOROOT/misc/wasm/wasm_exec.js .
|
|
||||||
```
|
|
||||||
Source: [https://github.com/golang/go/tree/master/misc/wasm](https://github.com/golang/go/tree/master/misc/wasm)
|
|
||||||
|
|
||||||
## Create an HTML
|
|
||||||
|
|
||||||
```html
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<script src="wasm_exec.js"></script>
|
|
||||||
<script>
|
|
||||||
// Polyfill
|
|
||||||
if (!WebAssembly.instantiateStreaming) {
|
|
||||||
WebAssembly.instantiateStreaming = async (resp, importObject) => {
|
|
||||||
const source = await (await resp).arrayBuffer();
|
|
||||||
return await WebAssembly.instantiate(source, importObject);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
const go = new Go();
|
|
||||||
WebAssembly.instantiateStreaming(fetch("yourgame.wasm"), go.importObject).then(result => {
|
|
||||||
go.run(result.instance);
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
```
|
|
||||||
|
|
||||||
Then open the HTML (you might need local HTTP server).
|
|
Loading…
Reference in New Issue
Block a user