Elmキャンバスに関する質問があります。キャンバスが各フレームのDOMで消去/再挿入されないようにする方法はありますか?更新の間にElmのキャンバスコンテンツを保存する方法
私は、パーティクルシステム(Model
)を変更して描画することで画像を動的に生成しようとしています。擬似コードは以下のようになります。
私の唯一の「解決策」は、パーティクルを変更するのではなく、追加を続けることですが、私はこのアプローチに満足していません。 DOMに何が含まれているか、それを明確にするためには
type alias Particle = { ... }
type alias Model = List Particle
update msg model =
List.map updateParticle model
view model =
collage 900 900
((rect 900 900 |> filled bg) :: (List.map drawParticle model))
-- later edit
drawParticle p =
segment p.start p.end
|> traced defaultLine
[EDIT] は、私は上記のコードにdrawParticle
機能を追加しました。
キャンバスの取り外し/再挿入を確認できますか?私は、バーチャルドームがキャンバスと変更されなかったすべてのパーティクルを保持し、実際に移動した要素のみを削除/再レンダリングすることを期待します。 –
いいえ、私はそれを観察しませんでした(私は一見見ることができます)。私の推測でしたが、それは問題ではありません。私はその時点まで図面を保持して追加するだけです。 – Adrian
DOMからは削除されません。 – Adrian