誰もが反応型バナナFRPフレームワークを使用してコンピュータゲームを行っているようですので、私も試してみる必要がありました。しかし、初期の段階では、ゲームデータを反応性バナナBehavior
タイプと記述しようとしています。ビヘイビアに反応型バナナの他のビヘイビアを含める方法
基本的には、私はゲームキャラクター(FrodoやSamなど)のリストを変更しようとしています。ゲームのキャラクターは、すべてのゲームのティック(ティックイベントとしてモデル化される)で更新されるかもしれません。その考えは、ゲームキャラクターが変更されるたびに、単一のEvent (Character)
がトリガーされ、キャラクターの更新が最終的にネットワークを介して送られるということです。これの利点は、Asteroids.hsの例と比較して、ゲームの全状態(ゲームキャラクタの全リスト)がネットワークを介して送信される必要がないことである。なぜなら、ゲームキャラクターリストを持つ単一のイベント。
これは正常に動作します。 Behavior (Character)
をmapaccum
で作成し、文字が更新されたときに文字の更新信号が送信されるようにしました。私が解決できない問題は、ゲームのキャラクタのリストBehavior
でこれを動作させる方法です。
ゲームのキャラクターリストをBehavior
としてモデル化しようとしています。これは、ゲーム中にキャラクターが出たり来たりする可能性があるためです。ここで動的イベントの切り替えを使用する必要がありますか?または、個々のゲームキャラクターにBehavior
を使用せず(ゲームのキャラクターリストにBehavior
しか使用しない場合)、キャラクターリストを通過するときに条件付きで更新イベントをトリガーする方法はありますか?それとも私はここで何かを理解していないのですか?
私はこれが事実であることが判明したと思っていました。私はあなたが言及し、後で外に変更されていない文字をフィルタリングする方法 "コレクションの動作"を試してみると思います。 – ipuustin
特に、キャラクターリストが更新されたイベントを1つの文字を更新するためのいくつかのイベントに分割するために 'spill'関数を使用すると思います。 – ipuustin