« D3DXのアニメーション | メイン | トラックバックスパム対策2 »
2005年09月24日
System Sara 開発日誌:: DrawTaskは毎回全登録
Tweet @jin1016をフォロー各スプライトのZ値が更新された時のみ、位置の入れ替えを行うようにしようと思っていたが、描画のたびにすべて消して、OnMoveで毎回すべて登録するようにすることにした。
なぜかと言うと、スプライトが消された時に、タスクも消す必要があるが、タスクを消すためにはタスクコントローラーへの参照がないといけない。
タスクコントローラーのポインタはOnDrawとOnMoveの引数で渡されるクラスへの参照の中に入ってる。
つまり、スプライトは知らない…… って、OnMoveで登録する時に、登録したタスクコントローラーを覚えておけば万事OKなんじゃ。。。
これを書いていて気付いた。
毎回全登録だったら、なんかコマンドっぽいなぁと思っていたが、毎回全登録しなくても良さそうだな。
登録した時にタスクコントローラーを持って、必要な時のみ入れ替えるようにしよう。
で、渡されたタスクコントローラーが変わっていたら、前のタスクコントローラーから自分のタスクを消して、新しい方に登録し、新しいタスクコントローラーを持つ。
削除される時は、持っているタスクコントローラーを使って自分のタスクを消す。
やっぱり、Z値が変わらないスプライトが多いから、必要な時のみ位置を変えるようにしていた方が良さそうだな。
投稿者 Takenori : 2005年09月24日 19:50
comments powered by Disqus