资源简介
我自己写的小游戏,虽然有些简陋但是绝对是初学者的好东西,代码也不长便于阅读,希望能对您有所帮助,用的是DX9,下载后您需要在工程中修改一下DX头文件的路径.在XP下测试过,用的是VS2005,VC++程序!欢迎大家来我的博客http://hi.baidu.com/d_b_mike
代码片段和文件信息
#include “autocar.h“
#include
const double pi = 3.1415926;
autocar::autocar(void)
{
}
autocar::autocar(LPDIRECT3DDEVICE9 thed3dDevice)
{
//m_pd3dDevice = thed3dDevice;
}
autocar::~autocar(void)
{
}
HRESULT autocar::InitCar(LPDIRECT3DDEVICE9 thed3dDeviceint x)
{
/////////////////////加载车模型///////////////////////////////////
m_pd3dDevice = thed3dDevice;
LPD3DXBUFFER bufShipMaterial;
D3DXLoadMeshFromX(L“player.x“ // load this file
D3DXMESH_SYSTEMMEM // load the mesh into system memory
m_pd3dDevice // the Direct3D Device
NULL // we aren‘t using adjacency
&bufShipMaterial // put the materials here
NULL // we aren‘t using effect instances
&m_numMaterials // the number of materials in this model
&meshCar); // put the mesh here
// retrieve the pointer to the buffer containing the material information
D3DXMATERIAL* tempMaterials = (D3DXMATERIAL*)bufShipMaterial->GetBufferPointer();
// create a new material buffer and texture for each material in the mesh
material = new D3DMATERIAL9[m_numMaterials];
texture = new LPDIRECT3DTEXTURE9[m_numMaterials];
for(DWORD i = 0; i < m_numMaterials; i++) // for each material...
{
material[i] = tempMaterials[i].MatD3D; // get the material info...
material[i].Ambient = material[i].Diffuse; // and make ambient the same as diffuse
USES_CONVERSION; // allows certain string conversions
// if there is a texture to load load it
if(FAILED(D3DXCreateTextureFromFile(m_pd3dDeviceCA2W(tempMaterials[i].pTextureFilename)&texture[i])))
texture[i] = NULL; // if there is no texture set the texture to NULL
}
/////////////////标定车在屏幕中位置/////////////////////////////////
D3DXMatrixTranslation(&m_meshCar(float)x3.00.0); //车在跑道上的位置30为车在跑道上的位置3为车高
m_carPoint = D3DXVECTOR3(3500);
/////////////////标定初始车的方向////////////////////////////////////
m_shipAngle = 0;
this->m_carDirect = D3DXVECTOR3(001);
////////////////设置跑道参数/////////////////////////////
m_inTrcDiam = 25;
m_outTrcDiam = 40;
///////设置矩阵参数////////////////////////////
D3DXMatrixIdentity(&m_carWorldY);
D3DXMatrixIdentity(&m_carWorldX); //D3DXMatrixIdentity为创建E矩阵
D3DXMatrixIdentity(&m_carWorldZ);
//////////////其他参数设置/////////////////////////
m_lockFlagOut = 0;
m_lockFlagIn = 0;
return S_OK;;
}
void autocar::Render()
{
//m_pd3dDevice->BeginScene();
GetNewPos();
m_pd3dDevice->SetTransform(D3DTS_WORLD&(m_carWorldZ*m_carWorldY*m_carWorldX*m_meshCar));
for(DWORD i = 0; i < m_numMaterials; i++) // loop through each subset
{
m_pd3dDevice->SetMaterial(&material[i]); // set the material for the subset
if(texture[i] != NULL) // if the subset has a texture (if texture is not NULL)
m_pd3dDevice->SetTexture(0 texture[i]); // ...then set the tex
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..AD... 0 2008-11-13 21:52 俞东宝UBITest_1\src
文件 883 2008-11-03 16:35 俞东宝UBITest_1\prj\forUbi\forUbi.sln
..A..H. 54784 2008-11-13 21:30 俞东宝UBITest_1\prj\forUbi\forUbi.suo
文件 4629 2008-11-10 17:05 俞东宝UBITest_1\prj\forUbi\forUbi\forUbi.vcproj
文件 1427 2008-11-13 21:30 俞东宝UBITest_1\prj\forUbi\forUbi\forUbi.vcproj.USER-038F698E48.user.user
文件 22951 2003-01-27 08:16 俞东宝UBITest_1\prj\forUbi\forUbi\pla
文件 0 2005-11-11 22:39 俞东宝UBITest_1\prj\forUbi\forUbi\game.h
文件 196664 2001-02-07 18:31 俞东宝UBITest_1\prj\forUbi\forUbi\mapcop.bmp
文件 34362 2008-11-13 20:38 俞东宝UBITest_1\prj\forUbi\forUbi\D3D.cpp
文件 196662 2003-01-17 10:57 俞东宝UBITest_1\prj\forUbi\forUbi\map1.bmp
文件 3385 2008-11-13 17:31 俞东宝UBITest_1\prj\forUbi\forUbi\game.cpp
文件 66616 2005-03-16 10:22 俞东宝UBITest_1\prj\forUbi\forUbi\seafloor.bmp
文件 1277 2008-11-11 17:06 俞东宝UBITest_1\prj\forUbi\forUbi\autocar.h
文件 2213 2008-11-11 17:06 俞东宝UBITest_1\prj\forUbi\forUbi\D3D.h
文件 32982 2008-11-04 16:19 俞东宝UBITest_1\prj\forUbi\forUbi\start.bmp
文件 39734 2008-11-04 17:13 俞东宝UBITest_1\prj\forUbi\forUbi\road2.bmp
文件 50390 2008-11-04 16:35 俞东宝UBITest_1\prj\forUbi\forUbi\road.bmp
文件 9056 2008-11-13 20:47 俞东宝UBITest_1\prj\forUbi\forUbi\autocar.cpp
目录 0 2008-11-13 21:52 俞东宝UBITest_1\prj\forUbi\forUbi
目录 0 2008-11-13 21:52 俞东宝UBITest_1\prj\forUbi
..AD... 0 2008-11-13 21:52 俞东宝UBITest_1\prj
文件 36864 2008-11-13 21:32 俞东宝UBITest_1\output\forUbi.exe
文件 196662 2003-01-17 10:57 俞东宝UBITest_1\output\map1.bmp
文件 196664 2001-02-07 18:31 俞东宝UBITest_1\output\mapcop.bmp
文件 22951 2003-01-27 08:16 俞东宝UBITest_1\output\pla
文件 39734 2008-11-04 17:13 俞东宝UBITest_1\output\road2.bmp
文件 50390 2008-11-04 16:35 俞东宝UBITest_1\output\road.bmp
文件 66616 2005-03-16 10:22 俞东宝UBITest_1\output\seafloor.bmp
文件 32982 2008-11-04 16:19 俞东宝UBITest_1\output\start.bmp
..A.SH. 29184 2008-11-13 21:53 俞东宝UBITest_1\output\Thumbs.db
............此处省略9个文件信息
评论
共有 条评论