⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 headerin3d.cpp

📁 VC++ DEMO, used for the beginners and the amour
💻 CPP
字号:
// HeaderIn3D.cpp: implementation of the HeaderIn3D class.
//
//////////////////////////////////////////////////////////////////////

#include "HeaderIn3D.h"

USING NAMESPACE CGE;
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
BOOL Keyboard(UINT nScanCode,WPARAM wParam,LPARAM lParam)
{
	return theApp.LockKeyboard(nScanCode,wParam,lParam);
}

HeaderIn3D::HeaderIn3D()
{
m_dyChinaChar = 0;
m_dyCamera = 0;
}

HeaderIn3D::~HeaderIn3D()
{
SAFE_DELETE(m_dyChinaChar);
SAFE_DELETE(m_dyCamera);

}

BOOL HeaderIn3D::InitializeOnFirstTime()
{
	m_dyChinaChar = new FONT::Char2Font;
	m_dyCamera = new MATRIX::CAMERA;
	m_dyEnFont = new FONT::EnFont;
	return TRUE;
}



BOOL HeaderIn3D::InitializeEntironment()
{
	m_dyChinaChar->SetCacheLevel(2);
	m_dyChinaChar->SetChar2Font("Arial",16,0,0,0);
	m_dyEnFont->SetEnFont(DEVICE,"Arial",16,10,0,0);
	m_dyCamera->MatrixLookAt(D3DXVECTOR3(0,0,-30),D3DXVECTOR3(0,0,1),D3DXVECTOR3(0,1,0));
	return TRUE;
}

BOOL HeaderIn3D::SetfreeEntironment()
{
	m_dyChinaChar->SetfreeContext();
	m_dyEnFont->SetfreeContext();
	return TRUE;
}

BOOL HeaderIn3D::AfreshEntironment()
{
	m_dyChinaChar->Create(DEVICE);
	m_dyEnFont->CreateContext(DEVICE);
	DEVICE->SetTransform(D3DTS_PROJECTION,&m_dyCamera->MatrixPerspectiveFovLH(D3DX_PI/4,
		(FLOAT)BackBufferWidth()/BackBufferHeight(),1.0f,100.0f));
	DEVICE->SetRenderState( D3DRS_ZENABLE, 1);
	DEVICE->SetRenderState( D3DRS_LIGHTING, FALSE);
	DEVICE->SetRenderState( D3DRS_CULLMODE,D3DCULL_NONE);
	DEVICE->SetTextureStageState(0,D3DTSS_MAGFILTER, D3DTEXF_LINEAR);
	DEVICE->SetTextureStageState(0,D3DTSS_MINFILTER, D3DTEXF_LINEAR);
	DEVICE->SetTextureStageState(0,D3DTSS_MIPFILTER, D3DTEXF_LINEAR);
	return TRUE;
}

BOOL HeaderIn3D::CheckFrameInMove()
{
	return TRUE;
}

LRESULT HeaderIn3D::DefineUserMsgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
	return Behavior::DefineUserMsgProc(hWnd,msg,wParam,lParam);
}

BOOL HeaderIn3D::DrawEntironment()
{
	DEVICE->Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,
		D3DCOLOR_COLORVALUE(0.0f, 0.0f, 0.0f, 1.0f), 1.0f, 0 );
	DEVICE->SetTransform(D3DTS_VIEW,&m_dyCamera->MatrixLookAtLH());
	if ( SUCCEEDED(DEVICE->BeginScene()))
	{
		m_dyEnFont->BeginTextOut();
		m_dyEnFont->Text2DOut(m_strAdapterInfo,100,2,D3DCOLOR_RGBA(255,128,0,255));
		m_dyEnFont->EndTextOut();

		m_dyChinaChar->BeginTextOut();
		for( int i = 0; i<30; ++i)
		{
		m_dyChinaChar->Text2DOut("包括现在,有很多游戏都还点阵字库。",3,i*20,D3DCOLOR_RGBA(255,128,0,255),-1,1,1);
		}
		m_dyChinaChar->EndTextOut();
		DEVICE->EndScene();
	}
	DEVICE->Present(0,0,0,0);
	return TRUE;
}

BOOL HeaderIn3D::LockKeyboard(UINT nScanCode, WPARAM wParam, LPARAM lParam)
{
	return TRUE;
}

BOOL HeaderIn3D::CleanupOnLastTime()
{
	return TRUE;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -