2023-05-09
FlameGameが Flutter の Widget ツリーに追加されると下図のようなライフサイクルを辿ります。
onLoad以外は複数回呼ばれることがあります。
flowchart TD
onGameResize --> onLoad["onLoad<br>(1回のみ)"]
onLoad --> onMount
onMount --> Update
Update --> Render
Render --> Update
Update --> onRemove
本サイトで頻繁に使うのは以下の 2 つです。
onLoad: 初回読み込み時に呼ばれるUpdate: フレームごとに呼ばれる右のライブデモを見ると、Update・Renderはずっと呼び出されていることがわかると思います。
また、ブラウザのウィンドウサイズを変えると onGameResizeも 2 回以上呼ばれます。
今回はゲームをツリーから削除しないのでonRemoveは呼ばれず、onMount・onLoadは 1 回ずつ呼ばれます。
© 2023 tnantoka