资源简介
零资源分下载,分享精神至上~
其中的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.em
文件 472 2013-03-03 20:30 D3Ddemo14 by浅墨\D3Ddemo14\Debug\D3Ddemo14.exe.em
文件 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\li
文件 2 2013-03-03 23:12 D3Ddemo14 by浅墨\D3Ddemo14\Debug\li
文件 2 2013-03-03 23:12 D3Ddemo14 by浅墨\D3Ddemo14\Debug\li
文件 2 2013-03-03 23:12 D3Ddemo14 by浅墨\D3Ddemo14\Debug\li
文件 2 2013-03-03 23:12 D3Ddemo14 by浅墨\D3Ddemo14\Debug\li
文件 2 2013-03-03 23:12 D3Ddemo14 by浅墨\D3Ddemo14\Debug\li
文件 2 2013-03-03 23:12 D3Ddemo14 by浅墨\D3Ddemo14\Debug\li
文件 2 2013-03-03 23:12 D3Ddemo14 by浅墨\D3Ddemo14\Debug\li
文件 2 2013-03-03 23:12 D3Ddemo14 by浅墨\D3Ddemo14\Debug\li
文件 2 2013-03-03 23:12 D3Ddemo14 by浅墨\D3Ddemo14\Debug\li
............此处省略56个文件信息
- 上一篇:一个回合制游戏demo
- 下一篇:3D场景漫游程序源码 by浅墨
相关资源
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
- VC++基于OpenGL模拟的一个3维空间模型
- c++ 虚拟摄像头
- hook,捕获所有案件,查找所有窗口,
- C语言课设计算器
- c++ 简易贪吃蛇源码
- 高精度加法(c++代码)
- C++调用百度地图案例
- 北京化工大学计算方法(C/C++)讲义
- 基于VC++的SolidWorks二次开发SolidWorks
- c++ 模拟鼠标按键
- OFD编辑器
- Beginning C++17 From Novice to Professional
- C++ STL实现
- opencv手部轮廓识别以及轨迹识别
- 百度C++编码规范
- C++ sql2008 WebServer通讯.docx
- c++ 定时关机程序源码
- 基于VSCode和CMake实现C++开发
- c++语法查询工具
- c++ 账务系统源码
- GBT 28169-2011 嵌入式软件 C语言编码规范
- c++ 猜拳小游戏
评论
共有 条评论