Re: vectorを用いての画像描画 ( No.1 ) |
- 名前:いっち 日時:2010/03/21 18:40
DeleteGraphのような処理を何処かで行っていますでしょうか?
具体的には各クラスのコンストラクタとデストラクタの動作を知りたいです。
|
Re: vectorを用いての画像描画 ( No.2 ) |
- 名前:木葉 日時:2010/03/21 18:43
お返事ありがとうございます!
DeleteGraphは行っておりません。
その後色々テストした所、Action::Drawを下記のように修正すれば表示される事が分りました。
ここで、下記のようなコードを書きました。
void Action::Draw(){
// 読み込み処理
Unit wkUnit;
units.push_back(wkUnit);
units[0].Load("ファイルパス");
}
もしかして、自然変数をVectorに追加した場合、Draw()を抜けた瞬間に画像がメモリから解放されてしまうのでしょうか・・・。
動くには動いたのですが、どうも力技な上納得が出来ずです。
|
Re: vectorを用いての画像描画 ( No.3 ) |
- 名前:いっち 日時:2010/03/21 19:24
グラフィックハンドルの開放と、クラスインスタンスの削除は別のことですので、
vector<Unit>内に値が正しく格納されていれば動作すると思います。
こういった場合、コピーコンストラクタや、代入演算子、デストラクタが正しく動作していない事が
考えられますので確認なさってみて下さい。
|
Re: vectorを用いての画像描画 ( No.4 ) |
- 名前:木葉 日時:2010/03/21 19:45
なるほど・・・。
コピーコンストラクタ等特別な処理をしている所がありますので、そこを調査してみようと思います。
色々とご助言を下さりありがとうございました。
|