マップエディタに於ける縮小図について。
Posted: 2017年4月10日(月) 13:15
C#.net + DXライブラリでマップエディタを作成しております。
全体マップの縮小図の表示について質問致します。
マップサイズは16*16チップを500*500敷き詰める程度とします。
・描画内容を即座に縮小図にも反映させたい。
・縮小図内にマップ表示範囲に対応した矩形カーソルを描画し、
それをマウス操作で移動させることでマップ表示範囲も移動させたい。
上記に対して下記①、②を試してみました。
①縮小したチップを500*500個DrawExtendGraph()で描画。
→ 毎フレーム描画するとリアルタイムで反映されるが処理が重い。
→ マップが編集された直後だけ描画するようにすると、カーソル移動の描画ができない。
②あらかじめMakeScreen()で作成したスクリーン(s)を用意しておいて、マップが編集された直後だけ
sに全体マップ500*500個をDrawExtendGraph()し、GetDrawScreenGraph()でハンドル(h)に格納。
あとは毎フレームDrawExtendGraph(h)で描画する。
→ カーソルがリアルタイムで描画できる。
→ GetDrawScreenGraph()が重く処理落ちが顕著でマップを連続的に編集できない。
以上、何かセオリー的なものはあるのでしょうか?
ご助言頂ければ幸いです。宜しくお願い致します。
全体マップの縮小図の表示について質問致します。
マップサイズは16*16チップを500*500敷き詰める程度とします。
・描画内容を即座に縮小図にも反映させたい。
・縮小図内にマップ表示範囲に対応した矩形カーソルを描画し、
それをマウス操作で移動させることでマップ表示範囲も移動させたい。
上記に対して下記①、②を試してみました。
①縮小したチップを500*500個DrawExtendGraph()で描画。
→ 毎フレーム描画するとリアルタイムで反映されるが処理が重い。
→ マップが編集された直後だけ描画するようにすると、カーソル移動の描画ができない。
②あらかじめMakeScreen()で作成したスクリーン(s)を用意しておいて、マップが編集された直後だけ
sに全体マップ500*500個をDrawExtendGraph()し、GetDrawScreenGraph()でハンドル(h)に格納。
あとは毎フレームDrawExtendGraph(h)で描画する。
→ カーソルがリアルタイムで描画できる。
→ GetDrawScreenGraph()が重く処理落ちが顕著でマップを連続的に編集できない。
以上、何かセオリー的なものはあるのでしょうか?
ご助言頂ければ幸いです。宜しくお願い致します。