[C++]『ゲームプログラミングC++』Chapter02 Game::LoadData

引き続きGame.cppの読解です。

// 宇宙船、背景2枚の描画設定
void Game::LoadData(){ // Game::Initialize()内で実行
	// 宇宙船の設定
	mShip = new Ship(this);
	mShip->SetPosition(Vector2(100.0f, 384.0f)); // 位置は左側中央とする SetPositionはActorのメンバ関数
	mShip->SetScale(1.5f); // SetScaleはActorのメンバ関数

	// Actor tempをWindowの中心に設定 bgのowner
	Actor* temp = new Actor(this);
	temp->SetPosition(Vector2(512.0f, 384.0f));

	// BGSpriteComponent bgの設定(ownerはtemp,優先度100) 最背面の宇宙
	BGSpriteComponent* bg = new BGSpriteComponent(temp); // SpriteComponent, Componentを継承
	bg->SetScreenSize(Vector2(1024.0f, 768.0f)); // BGSpriteComponent独自のメンバ関数
	std::vector<SDL_Texture*> bgtexs = { // SDLテクスチャのvector配列を作成
		GetTexture("../Assets/Farback01.png"), // GetTextureはGameのメンバ関数
		GetTexture("../Assets/Farback02.png")
	};
	bg->SetBGTextures(bgtexs); // bgにSDLテクスチャをセット
	bg->SetScrollSpeed(-100.0f); // bgのスクロール速度を-100とする
	
	bg = new BGSpriteComponent(temp, 50); // 優先度50のbgを新たに作成 手前の星
	bg->SetScreenSize(Vector2(1024.0f, 768.0f));
	bgtexs = {
		GetTexture("../Assets/Stars.png"),
		GetTexture("../Assets/Stars.png")
	};
	bg->SetBGTextures(bgtexs);
	bg->SetScrollSpeed(-200.0f); // スクロール速度は倍の-200に設定
}