• 大小: 456KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-05
  • 语言: C/C++
  • 标签: 3D赛车  DX学习  

资源简介

我自己写的小游戏,虽然有些简陋但是绝对是初学者的好东西,代码也不长便于阅读,希望能对您有所帮助,用的是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\player.x

     文件          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\player.x

     文件      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个文件信息

评论

共有 条评论

相关资源