Dxライブラリにてインスタンスの有無を識別したい
Posted: 2017年9月30日(土) 01:23
ひとまずゲームが完成したので、細かくデータを場面場面でロードするようにしたいのですが、newにて確保したクラスのインスタンスが削除できなくて困っています。
たとえば、現在戦闘シーンを処理してるクラスAのインスタンスを削除し、イベントシーンを処理するクラスBをインスタンスし、Bのメンバ関数cを実行したい場合
(battleは戦闘シーンかどうかのフラグです)
if(battle==true){
delete a;
b=new B;
battle=false;
}
if(battle==false){
b->c();
}
こうすると、クラスAのインスタンスが残って使用中メモリが減ってくれません。
そこで、while文の中で実行しているためメモリ削除の前にフラグが変わってしまって削除が完了していないのでは?と思ったので、
タイトルにあるようにクラスのインスタンスがあるかどうかが識別できれば安全に削除してから処理を進められると考えました。
どのようにすればよいのでしょうか?
たとえば、現在戦闘シーンを処理してるクラスAのインスタンスを削除し、イベントシーンを処理するクラスBをインスタンスし、Bのメンバ関数cを実行したい場合
(battleは戦闘シーンかどうかのフラグです)
if(battle==true){
delete a;
b=new B;
battle=false;
}
if(battle==false){
b->c();
}
こうすると、クラスAのインスタンスが残って使用中メモリが減ってくれません。
そこで、while文の中で実行しているためメモリ削除の前にフラグが変わってしまって削除が完了していないのでは?と思ったので、
タイトルにあるようにクラスのインスタンスがあるかどうかが識別できれば安全に削除してから処理を進められると考えました。
どのようにすればよいのでしょうか?