资源简介

零资源分下载,分享精神至上~ 其中的3D模型使用的是最终幻想中的女主角雷霆,非常帅气,可以自己用鼠标和键盘控制视角。并用数字键1与2控制深度测试的开启或者关闭。 源码的配套博文是 《【Visual C++】游戏开发笔记四十六 浅墨DirectX教程十四 模板测试与镜面特效专场》 ,文章地址为http://blog.csdn.net/zhmxy555/article/details/8632184, 点击Release下的exe文件可以直接看到运行效果,运行需要DirectX运行库的支持。报缺少D3D的DLL系列错误的童鞋们请google/百度一下 “DirectX 9.0c runtime”,下载并装个最新版的。 报缺少MVCR100D.Dll错误的朋友们去下一个安装就可以了,或者直接点击sln打开工程再次编译一次。 如果是想调试并运行源代码,但是报错了,请去下载最新版DirectX SDK并进行DirectX开发环境的配置。 编写环境:VS2010 我的博客地址是http://blog.csdn.net/zhmxy555,源码结合配套文章一起看效果更佳。 希望能和大家一起交流,共同学习,共同进步。 by浅墨

资源截图

代码片段和文件信息

//=============================================================================
// Desc: DirectInput键盘输入处理类源文件
// 2013年 2月03日  Create by 浅墨 
//=============================================================================
#include “DirectInputClass.h“


//-----------------------------------------------------------------------------
// Desc: 构造函数
//-----------------------------------------------------------------------------
DInputClass::DInputClass()
{
m_pDirectInput = NULL;
m_KeyboardDevice = NULL;
ZeroMemory(m_keyBuffersizeof(char)*256);
m_MouseDevice= NULL;
ZeroMemory(&m_MouseState sizeof(m_MouseState));
}


//-----------------------------------------------------------------------------
// Name:DInputClass::Init()
// Desc: 初始化DirectInput键盘及鼠标输入设备
//-----------------------------------------------------------------------------
HRESULT DInputClass::Init( HWND hWndHINSTANCE hInstanceDWORD keyboardCoopFlags DWORD mouseCoopFlags )
{
HRESULT hr;
//初始化一个IDirectInput8接口对象
HR(DirectInput8Create( hInstance DIRECTINPUT_VERSION 
IID_IDirectInput8(void**)&m_pDirectInputNULL ));

//进行键盘设备的初始化
HR( m_pDirectInput->CreateDevice( GUID_SysKeyboard &m_KeyboardDevice NULL ));
HR( m_KeyboardDevice->SetCooperativeLevel( hWnd keyboardCoopFlags));
HR( m_KeyboardDevice->SetDataFormat( &c_dfDIKeyboard ));
HR( m_KeyboardDevice->Acquire( ));
HR( m_KeyboardDevice->Poll( ));

//进行鼠标设备的初始化
HR( m_pDirectInput->CreateDevice( GUID_SysMouse &m_MouseDevice NULL ));
HR( m_MouseDevice->SetCooperativeLevel( hWndmouseCoopFlags));
HR( m_MouseDevice->SetDataFormat( &c_dfDIMouse ));
HR( m_MouseDevice->Acquire( ));
HR( m_KeyboardDevice->Poll( ));

return S_OK;
}


//-----------------------------------------------------------------------------
// Name:DInputClass::GetInput()
// Desc: 用于获取输入信息的函数
//-----------------------------------------------------------------------------
void DInputClass::GetInput()
{
HRESULT hr = m_KeyboardDevice->GetDeviceState(sizeof(m_keyBuffer) (void**)&m_keyBuffer); 
//获取键盘输入消息
if(hr)
{
m_KeyboardDevice->Acquire();  
m_KeyboardDevice->GetDeviceState( sizeof(m_keyBuffer)(LPVOID)m_keyBuffer );
}

hr = m_MouseDevice->GetDeviceState(sizeof(DIMOUSESTATE) (void**)&m_MouseState); 
//获取鼠标输入消息
if(hr)
{
m_MouseDevice->Acquire();
m_MouseDevice->GetDeviceState( sizeof(DIMOUSESTATE) (void**)&m_MouseState);
}
}

//-----------------------------------------------------------------------------
// Name:DInputClass::IsKeyDown()
// Desc: 判断键盘上某个键是否按下
//-----------------------------------------------------------------------------
bool DInputClass::IsKeyDown(int iKey)
{
if(m_keyBuffer[iKey] & 0x80)
return true;
else
return false;
}


//-----------------------------------------------------------------------------
// Name:DInputClass::IsMouseButtonDown()
// Desc: 判断鼠标上某键是否按下
//-------------------------------------------------------------

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      49206  2013-01-23 22:48  D3Ddemo14  by浅墨\D3Ddemo14\c001_02.bmp

     文件     786486  2013-01-23 22:48  D3Ddemo14  by浅墨\D3Ddemo14\c001_05.bmp

     文件    3145782  2013-01-23 22:48  D3Ddemo14  by浅墨\D3Ddemo14\c001_07.bmp

     文件    1572918  2013-01-23 22:48  D3Ddemo14  by浅墨\D3Ddemo14\c001_11.bmp

     文件    1572918  2013-01-23 22:48  D3Ddemo14  by浅墨\D3Ddemo14\c001_13.bmp

     文件     196662  2013-01-23 22:48  D3Ddemo14  by浅墨\D3Ddemo14\c001_16.bmp

     文件       4087  2013-03-03 20:30  D3Ddemo14  by浅墨\D3Ddemo14\D3Ddemo14.vcxproj

     文件       1260  2013-03-03 20:30  D3Ddemo14  by浅墨\D3Ddemo14\D3Ddemo14.vcxproj.filters

     文件        143  2013-03-03 19:49  D3Ddemo14  by浅墨\D3Ddemo14\D3Ddemo14.vcxproj.user

     文件        737  2013-02-03 20:37  D3Ddemo14  by浅墨\D3Ddemo14\D3DUtil.h

     文件       1330  2013-03-03 23:12  D3Ddemo14  by浅墨\D3Ddemo14\Debug\cl.command.1.tlog

     文件      28532  2013-03-03 23:12  D3Ddemo14  by浅墨\D3Ddemo14\Debug\CL.read.1.tlog

     文件       1024  2013-03-03 23:12  D3Ddemo14  by浅墨\D3Ddemo14\Debug\CL.write.1.tlog

     文件        406  2013-03-03 20:30  D3Ddemo14  by浅墨\D3Ddemo14\Debug\D3Ddemo14.exe.embed.manifest

     文件        472  2013-03-03 20:30  D3Ddemo14  by浅墨\D3Ddemo14\Debug\D3Ddemo14.exe.embed.manifest.res

     文件        381  2013-03-03 23:12  D3Ddemo14  by浅墨\D3Ddemo14\Debug\D3Ddemo14.exe.intermediate.manifest

     文件         56  2013-03-03 23:12  D3Ddemo14  by浅墨\D3Ddemo14\Debug\D3Ddemo14.lastbuildstate

     文件       2164  2013-03-03 23:12  D3Ddemo14  by浅墨\D3Ddemo14\Debug\D3Ddemo14.log

     文件        208  2013-03-03 20:30  D3Ddemo14  by浅墨\D3Ddemo14\Debug\D3Ddemo14_manifest.rc

     文件      32244  2013-03-03 20:30  D3Ddemo14  by浅墨\D3Ddemo14\Debug\DirectInputClass.obj

     文件          2  2013-03-03 23:12  D3Ddemo14  by浅墨\D3Ddemo14\Debug\link-cvtres.read.1.tlog

     文件          2  2013-03-03 23:12  D3Ddemo14  by浅墨\D3Ddemo14\Debug\link-cvtres.write.1.tlog

     文件          2  2013-03-03 23:12  D3Ddemo14  by浅墨\D3Ddemo14\Debug\link.1284-cvtres.read.1.tlog

     文件          2  2013-03-03 23:12  D3Ddemo14  by浅墨\D3Ddemo14\Debug\link.1284-cvtres.write.1.tlog

     文件          2  2013-03-03 23:12  D3Ddemo14  by浅墨\D3Ddemo14\Debug\link.1284.read.1.tlog

     文件          2  2013-03-03 23:12  D3Ddemo14  by浅墨\D3Ddemo14\Debug\link.1284.write.1.tlog

     文件          2  2013-03-03 23:12  D3Ddemo14  by浅墨\D3Ddemo14\Debug\link.6924-cvtres.read.1.tlog

     文件          2  2013-03-03 23:12  D3Ddemo14  by浅墨\D3Ddemo14\Debug\link.6924-cvtres.write.1.tlog

     文件          2  2013-03-03 23:12  D3Ddemo14  by浅墨\D3Ddemo14\Debug\link.6924.read.1.tlog

     文件          2  2013-03-03 23:12  D3Ddemo14  by浅墨\D3Ddemo14\Debug\link.6924.write.1.tlog

............此处省略56个文件信息

评论

共有 条评论