« D3DXのアニメーション | メイン | トラックバックスパム対策2 »

2005年09月24日

System Sara 開発日誌:: DrawTaskは毎回全登録

    

各スプライトのZ値が更新された時のみ、位置の入れ替えを行うようにしようと思っていたが、描画のたびにすべて消して、OnMoveで毎回すべて登録するようにすることにした。
なぜかと言うと、スプライトが消された時に、タスクも消す必要があるが、タスクを消すためにはタスクコントローラーへの参照がないといけない。
タスクコントローラーのポインタはOnDrawとOnMoveの引数で渡されるクラスへの参照の中に入ってる。
つまり、スプライトは知らない…… って、OnMoveで登録する時に、登録したタスクコントローラーを覚えておけば万事OKなんじゃ。。。
これを書いていて気付いた。
毎回全登録だったら、なんかコマンドっぽいなぁと思っていたが、毎回全登録しなくても良さそうだな。
登録した時にタスクコントローラーを持って、必要な時のみ入れ替えるようにしよう。
で、渡されたタスクコントローラーが変わっていたら、前のタスクコントローラーから自分のタスクを消して、新しい方に登録し、新しいタスクコントローラーを持つ。
削除される時は、持っているタスクコントローラーを使って自分のタスクを消す。
やっぱり、Z値が変わらないスプライトが多いから、必要な時のみ位置を変えるようにしていた方が良さそうだな。



投稿者 Takenori : 2005年09月24日 19:50




comments powered by Disqus
Total : Today : Yesterday : なかのひと