delete *Texture できない
t 2015/10/04(Sun) 13:11
Reputeless 2015/10/07(Wed) 16:17
Siv3D では Texture を delete してもエラーは発生しません。おそらくコードの誤りです。
複数回 delete していないか、delete したポインタを別の場所で使用していないかご確認ください。
それでも症状が発生する場合は再現するコードを返信してください。
本来 Texture は内部にポインタがあり、参照カウントで管理されているので、
new / delete を使って生成と破棄のタイミングを管理する必要はありません。
以下のコードでアプリの終了時に Texture は解放されます。
# include <Siv3D.hpp>
void Main()
{
Texture texture(L"Example/Windmill.png");
while (System::Update())
{
texture.draw();
}
}
明示的に解放したい場合は以下のように release() メンバ関数を使ってください。
# include <Siv3D.hpp>
void Main()
{
Texture texture(L"Example/Windmill.png");
while (System::Update())
{
if (texture)
{
texture.draw();
}
if (Input::MouseL.clicked)
{
texture.release();
}
}
}