リソースとして読み込んだLogo.bmpをフェードインしながら画面に表示させたいのですがどうやればいいでしょうか?
//ロゴ画面 //----------------------------------------------------------------------------- #include "Task_Logo.h" #include "Task_Brand.h" namespace Logo { //★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ //リソース //★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ //----------------------------------------------------------------------------- //安全の為に、追加したリソース用の変数はここで予めゼロクリアしておく Resorce::Resorce( ) { this->img = nullptr; } //----------------------------------------------------------------------------- //リソース読み込みはここに書く bool Resorce::Initalize( ) { this->img = DG::Image::Create("./data/image/Logo.bmp"); return true; } //----------------------------------------------------------------------------- //リソース解放はここに書く bool Resorce::Finalize( ) { this->img.reset(); return true; } //★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ //本体 //★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ //----------------------------------------------------------------------------- //「初期化」タスク生成時に1回だけ行う処理 bool Object::Initialize( ) { __super::Initialize(defGroupName, defName, true); //スーパークラス初期化 //固有情報の初期化 ge->dg->EState( ).param.bgColor = ML::Color(1,1,1,1); return true; } //----------------------------------------------------------------------------- //「実行」1フレーム毎に行う処理 void Object::Step( ) { if( ge->in1->Button_Down(DI::But::○) ){ this->Kill( ); //自分自身に消滅申請 } } //----------------------------------------------------------------------------- //「2D描画」1フレーム毎に行う処理 void Object::Draw2D_BF( ) { ML::Box2D draw(0, 0, 1920, 1080); ML::Box2D src (0, 0, 1920, 1080); draw.Offset(0, 0); res->img->Draw(draw, src); } //----------------------------------------------------------------------------- //「終了」タスク消滅時に1回だけ行う処理 bool Object::Finalize( ) { //固有情報の解放 //その他・後処理 //配下の削除 //引き継ぎタスクの生成 auto next = Brand::Object::Create( ); ge->PushBack(next); return true; } //★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ //本体・リソース双方の基本的に変更不要なメソッド //★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ //----------------------------------------------------------------------------- //タスク生成窓口 Object::SP Object::Create( ) { Object::SP ob = Object::SP(new Object( )); if(ob){ ob->me = ob; if( ob->B_Initialize( ) ){ return ob; } } return nullptr; } //----------------------------------------------------------------------------- bool Object::B_Initialize( ) { res = Resorce::GetInst( ); //リソース準備 return this->Initialize( ); } //----------------------------------------------------------------------------- Object::~Object( ){ this->B_Finalize( ); } bool Object::B_Finalize( ) { auto rtv = this->Finalize( ); res.reset( ); return rtv; } //----------------------------------------------------------------------------- Object::Object( ){ } //----------------------------------------------------------------------------- Resorce::WP Resorce::instWPtr; //----------------------------------------------------------------------------- Resorce::SP Resorce::GetInst( ) { if(!instWPtr.expired( )){ return instWPtr.lock( ); } else{ SP sp = SP(new Resorce( )); sp->Initalize( ); instWPtr = sp; return sp; } } //----------------------------------------------------------------------------- Resorce::~Resorce( ){ this->Finalize( ); } }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。