Open7
[メモ]RustとWebAssemblyによるゲーム開発
rustもwebassemblyもgameもわからない人のメモ
三角形を表示する章で下記htmlをindex.htmlに追加する必要があった。
<canvas id="canvas" width="600px" height="600px"></canvas>
コマンドメモ
NODE_OPTIONS=--openssl-legacy-provider npm rum start
エラーが発生した場合になにか処理をする場合
map_err(|element| {
anyhow!("Error: {:#?}", element)
})
※成功時の場合に~はmap
を使う
anyhowとはエラー管理するライブラリ
web_sysとは
Web ブラウザーで使用できるすべての Web API へのバインディングを提供し、Rust および Wasm アプリケーションが、Document Object Model (DOM)、WebGL などのさまざまな Web API と直接対話できるようにします。
らしい。。
Boxとは
- オブジェクトのメモリをヒープに確保することができる。
スタック領域
プロセス起動時に割り当てられたメモリ領域です。
プロセスから見ると起動時からアドレスを知っているのでアクセスは速いのですが、容量はあまり大きくないです。
データの保存・取得方法に癖があり、スタックを配列と見立てると、保存時には push しかできず、取得時には pop しかできません。
不便ではありますが、末尾のアドレスさえ知っていればすぐに読み書きできるので、その構造からもアクセス速度は速くなります。
ヒープ
必要に応じてプロセスに割り当てられるメモリ領域です。
割り当てにあたって OS にメモリー割り当ての要求をする必要があるので、はじめから割り当てられているスタックに比べるとアクセスが遅くなりますが、利用できる容量はスタックよりも大きくなります。
データの保存・取得は任意のアドレスへ行うことができます。