Ejemplo n.º 1
0
void MVC_Model_Test::initEnvironment(void)
{
	m_envObjects[EO_TEST] = new GameObject3D;
	m_envObjects[EO_TEST]->Init(GetMeshResource("cube"), Transform(Vector3(), Vector3(), Vector3(5.0f, 5.0f, 5.0f)));
	m_envObjects[EO_AXES] = new GameObject3D;
	m_envObjects[EO_AXES]->Init(GetMeshResource("axes"), Transform(Vector3(), Vector3(), Vector3(1.0f, 1.0f, 1.0f)));
}
Ejemplo n.º 2
0
	void NumberSprite::OnUpdate(){
		//前回のターンからの時間
		float ElapsedTime = App::GetApp()->GetElapsedTime();
		m_TotalTime += ElapsedTime;
		size_t Num = (size_t)m_TotalTime;
		Num = Num % 10;
		auto PtrSprite = GetComponent<PCTSpriteDraw>();
		auto MeshRes = PtrSprite->GetMeshResource();
		//動的にUV値が変わる頂点を設定する
		MeshRes->UpdateVirtexBuffer(m_NumberVertexVec[Num]);
	}
Ejemplo n.º 3
0
	//初期化
	void NumberSprite::OnCreate(){
		auto PtrTransform = AddComponent<Transform>();
		PtrTransform->SetPosition(m_StartPos);
		PtrTransform->SetScale(1.0f, 1.0f, 1.0f);
		PtrTransform->SetRotation(0.0f, 0.0f, 0.0f);
		//スプライトをつける
		auto PtrSprite = AddComponent<PCTSpriteDraw>(Vector2(128.0f, 128.0f), Color4(1.0f, 1.0f, 1.0f, 1.0f));
		PtrSprite->SetTextureResource(L"NUMBER_TX");
		//透明処理
		SetAlphaActive(true);
		//左上原点
		PtrSprite->SetSpriteCoordinate(SpriteCoordinate::m_LeftTopZeroPlusDownY);
		//スプライトの中のメッシュからバックアップの取得
		auto& SpVertexVec = PtrSprite->GetMeshResource()->GetBackupVerteces<VertexPositionColorTexture>();
		//各数字ごとにUV値を含む頂点データを配列化しておく
		for (size_t i = 0; i < 10; i++){
			float from = ((float)i) / 10.0f;
			float to = from + (1.0f / 10.0f);
			vector<VertexPositionColorTexture> NumVirtex =
			{
				//左上頂点
				VertexPositionColorTexture(
				SpVertexVec[0].position,
				Color4(1.0f, 1.0f, 1.0f, 1.0f),
				Vector2(from, 0)
				),
				//右上頂点
				VertexPositionColorTexture(
				SpVertexVec[1].position,
				Color4(1.0f, 1.0f, 1.0f, 1.0f),
				Vector2(to, 0)
				),
				//左下頂点
				VertexPositionColorTexture(
				SpVertexVec[2].position,
				Color4(1.0f, 1.0f, 1.0f, 1.0f),
				Vector2(from, 1.0f)
				),
				//右下頂点
				VertexPositionColorTexture(
				SpVertexVec[3].position,
				Color4(1.0f, 1.0f, 1.0f, 1.0f),
				Vector2(to, 1.0f)
				),
			};
			m_NumberVertexVec.push_back(NumVirtex);
		}
	}
Ejemplo n.º 4
0
	//初期化
	void BarSprite::OnCreate(){
		auto PtrTransform = AddComponent<Transform>();
		PtrTransform->SetPosition(m_StartPos);
		PtrTransform->SetScale(1.0f, 1.0f, 1.0f);
		PtrTransform->SetRotation(0.0f, 0.0f, 0.0f);
		//スプライトをつける
		//すぐに頂点を変更してしまうので、サイズは適当でよい
		auto PtrSprite = AddComponent<PCTSpriteDraw>(Vector2(SpriteWidth, SpriteHeight), Color4(1.0f, 1.0f, 1.0f, 1.0f));
		//左上
		m_BarVirtexVec.push_back(
			VertexPositionColorTexture(
			Vector3(0.0f, SpriteHeight, 0),
			Color4(1.0f, 1.0f, 1.0f, 1.0f),
			Vector2(0, 0))
			);
		//右上
		m_BarVirtexVec.push_back(
			VertexPositionColorTexture(
			Vector3(SpriteWidth, SpriteHeight, 0),
			Color4(1.0f, 1.0f, 1.0f, 1.0f),
			Vector2(1.0f, 0))
			);
		//左下
		m_BarVirtexVec.push_back(
			VertexPositionColorTexture(
			Vector3(0.0f, 0.0f, 0),
			Color4(1.0f, 1.0f, 1.0f, 1.0f),
			Vector2(0, 1.0f))
			);
		//右下
		m_BarVirtexVec.push_back(
			VertexPositionColorTexture(
			Vector3(SpriteWidth, 0.0f, 0),
			Color4(1.0f, 1.0f, 1.0f, 1.0f),
			Vector2(1.0f, 1.0f))
			);
		//スプライトの中のメッシュの取得
		auto MeshRes = PtrSprite->GetMeshResource();
		//頂点を設定する
		MeshRes->UpdateVirtexBuffer(m_BarVirtexVec);

		PtrSprite->SetTextureResource(L"BAR_TX");
		//左下原点
		PtrSprite->SetSpriteCoordinate(SpriteCoordinate::m_LeftBottomZeroPlusUpY);
	}
Ejemplo n.º 5
0
	//変化
	void BarSprite::OnUpdate(){
		//前回のターンからの時間
		float ElapsedTime = App::GetApp()->GetElapsedTime();
		m_TotalTime += ElapsedTime * 2.0f;
		//sinは-1.0から1.0まで取りうるので調整
		float v = cos(m_TotalTime) * 0.5f + 0.5f;
		float y = SpriteHeight - SpriteHeight * v;

		m_BarVirtexVec[0].position.y = y;
		m_BarVirtexVec[0].textureCoordinate.y = v;
		m_BarVirtexVec[1].position.y = y;
		m_BarVirtexVec[1].textureCoordinate.y = v;

		auto PtrSprite = GetComponent<PCTSpriteDraw>();

		//スプライトの中のメッシュの取得
		auto MeshRes = PtrSprite->GetMeshResource();
		//頂点を設定する
		MeshRes->UpdateVirtexBuffer(m_BarVirtexVec);
	}