下記は#includeよりしたのコードです。
Anime g_tabAni;
GSprite g_tab;
WINMAIN()
{
DxInit(1280,720);
//g_tabAni=Anime::SplitAnimePositionX0Y0("graphics/tabasa22.png", 11, 2, 5);
g_tabAni.InitSplitX0Y0("graphics/tabasa22.png", 11, 2, 5);
g_tab = GSprite(400, 100, 3, 0, &g_tabAni);
GAMELOOP{
g_tab.Update();
g_tab.Draw();
g_tab.velocity.AddDegree(1);
}
DxEnd();
}
上記コードでは、グローバル変数を宣言した後に、
うまく描画できています。
しかし、InitInitSplitX0Y0メソッドを使わずに、戻り値Animeが返ってくるスタティックメソッドやコンストラクタを使うと、画面に描画されなくなります。
ブレークポイントで値を確認しても情報漏れはなくまったく不明です。グラフィックハンドルも入っています。
しかし、g_tabAni と g_tabAniのグローバル変数にせず、
ローカル変数(ローカルインスタンス)にしてみればまったく問題なく動作します。
グラフィックハンドルは値が存在していてもほかに何かが設定されていないとかなにか原因があるでしょうか?
まったくわからずに困っています。
ローカル変数(ローカルのインスタンス)なら現状ではまったく問題ないです。