《DirectInput原理与API参考》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:武永康编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2001
  • ISBN:7302044848
  • 页数:336 页
图书介绍:DirectInput是DirectX应用程序设计接口的主要组件之一。DirectInput为Windows环境的游戏和实时多媒体应用程序处理输入设备信息,尤其对游戏控制器和力反馈设备提供了完备的支持。本书完整地介绍了DirectInput,包括DirectInput的结构和功能,以及DirectInput应用程序设计原理,给出了实用的irectInput应用程序设计接口参考信息。本书以Visual C++和Visual Basic两种语言环境为背景,分别用实例阐明了DirectInput应用程序设计的细节。本书是DirectInput应用程序设计参考书,为Windows环境的2D、3D游戏和实时多媒体应用程序的开发,提供了实用的信息。本书适合实时多媒体和游戏开发人员,大专院校相关专业的师生和程序设计爱好者阅读。

第1部分 DirectInput原理 3

第1章 DirectInput基础 3

1.1 DirectInput的层次结构 3

1.1.1 DirectInput层次结构概述 3

1.1.2 DirectInput与Windows集成 5

1.1.3 人机接口设备 6

1.2 DirectInput的创建 6

1.2.1 创建DirectInput 6

1.2.2 DirectInput设备枚举 6

第2章 DirectInput设备 9

2.1 设备的设置 9

2.2 创建DirectInput对象 9

2.3 设备性能 11

2.4 协作级别 12

2.4.1 前台和后台 13

2.4.2 独占级与非独占级 14

2.5 设备对象枚举 14

2.6 设备数据格式 16

2.7 设备特性 17

2.8 获得设备 20

2.9 识别设备的变化 21

第3章 DirectInput设备数据基本概念 23

3.1 缓冲数据和立即数据 23

3.2 时间印章和序列号 25

3.3 轮询和事件 26

3.4 相对轴坐标和绝对轴坐标 27

3.5 输出数据 27

4.1 立即鼠标数据 30

第4章 鼠标数据 30

4.2 缓冲鼠标数据 31

4.3 解释鼠标轴数据 33

4.4 检查丢失的鼠标输入 34

第5章 键盘数据 35

5.1 立即键盘数据 35

5.2 缓冲键盘数据 36

5.3 解释键盘数据 37

5.4 检查丢失的键盘输入 38

第6章 游戏杆数据 39

6.1 立即游戏杆的数据 39

6.2 缓冲游戏杆的数据 40

6.3 游戏杆的轴数据 42

6.4 检查游戏杆状态 44

7.1 反馈的基本概念 45

第7章 力反馈 45

7.2 效果枚举 47

7.3 装载一个文件中的效果 49

7.4 有关被支持效果的信息 50

7.5 创建一种效果 51

7.6 效果的方向 53

7.7 包络和偏移量 56

7.8 效果重现 57

7.9 下载和卸载效果 58

7.10 修改效果 59

7.11 增益 60

7.12 力反馈状态 61

7.14 效果类型 62

7.13 枚举效果对象 62

7.14.1 常力 63

7.14.2 斜坡力 64

7.14.3 周期效果 65

7.14.4 状况 67

7.14.5 定制力 69

7.14.6 设备特定的效果 70

第8章 DirectInput For C/C++应用举例 72

8.1 使用键盘 72

8.1.1 步骤1:创建DirectInput对象 73

8.1.2 步骤2:创建DirectInput键盘设备 73

8.1.3 步骤3:设置键盘数据格式 74

8.1.4 步骤4:设置键盘特性 74

8.1.5 步骤5:获得使用键盘的权利 74

8.1.6 步骤6:从键盘检索数据 75

8.1.7 步骤7:关闭DirectInput系统 76

8.1.8 示例函数1:DI_Init 76

8.1.9 示例函数2:DI_Term 77

8.2 使用鼠标 78

8.2.1 步骤1:创建鼠标设备 78

8.2.2 步骤2:设置鼠标数据格式 79

8.2.3 步骤3:设置鼠标特性 79

8.2.4 步骤4:为鼠标的缓冲输入做准备 79

8.2.5 步骤5:管理对鼠标的访问 81

8.2.6 步骤6:从鼠标检索被缓冲的数据 82

8.3 使用游戏杆 92

8.3.1 步骤1:枚举游戏杆 92

8.3.2 步骤2:创建DirectInput游戏杆设备 93

8.3.4 步骤4:设置游戏杆特性 94

8.3.3 步骤3:设置游戏杆数据格式 94

8.3.5 步骤5:获得使用游戏杆的权利 96

8.3.6 步骤6:从游戏杆检索数据 97

8.4 使用力反馈 98

8.4.1 步骤1:枚举力反馈设备 99

8.4.2 步骤2:创建DirectInput力反馈设备 99

8.4.3 步骤3:枚举被支持的效果 101

8.4.4 步骤4:创建一种效果 102

8.4.5 步骤5:操纵一种效果 103

8.4.6 步骤6:改变效果 104

第9章 DirectInput For Visual Basic应用举例 105

9.1 使用键盘 105

9.1.1 步骤1:创建DirectInput和键盘设备 105

9.1.3 步骤3:获得使用键盘的权利 106

9.1.2 步骤2:设置键盘参数 106

9.1.4 步骤4:从键盘检索立即数据 107

9.2 使用鼠标 112

9.2.1 步骤1:设置鼠标 112

9.2.2 步骤2:设置通知 113

9.2.3 步骤3:管理对鼠标的独占管理 113

9.2.4 步骤4:检索缓冲数据 114

9.3 使用游戏杆 118

9.3.1 步骤1:枚举和创建游戏杆 118

9.3.2 步骤2:获得游戏杆性能 119

9.3.3 步骤3:设置游戏杆属性 121

9.3.4 步骤4:从游戏杆检索立即数据 122

9.4 使用力反馈设备 127

9.4.1 步骤1:初始化力反馈设备 128

9.4.2 步骤2:设置设备属性 129

9.4.3 步骤3:创建一种效果 129

9.4.4 步骤4:修改效果 130

第2部分 DirectInput应用程序设计接口 147

第10章 DirectInput For C/C++接口 147

10.1 COM接口 147

10.1.1 IDirectInput7接口 147

10.1.2 IDirectInputDevice7接口 154

10.1.3 IDirectInputEffect接口 184

10.2 函数 193

10.2.1 DirectInputCreate函数 194

10.2.2 DirectInputCreateEx函数 195

10.3 回调函数 196

10.3.1 DIEnumCreatedEffectObjectsCallback 197

10.3.2 DIEnumDeviceObjectsCallback 197

10.3.3 DIEnumDevicesCallback 198

10.3.4 DIEnumEffectsCallback 198

10.3.5 DIEnumEffectsInFileCallback 198

10.4 宏 199

10.4.1 DIDFT_GETINSTANCE 199

10.4.2 DIDFT_GETTYPE 200

10.4.3 DIDFT_MAKEINSTANCE 200

10.4.4 DIEFT_GETTYPE 200

10.4.5 DIMAKEUSAGEDWORD 201

10.4.6 DISEQUENCE_COMPARE 201

10.4.8 GET_DIDEVICE_TYPE 202

10.5 数据结构 202

10.4.7 GET_DIDEVICE_SUBTYPE 202

10.5.1 DICONDITION结构 203

10.5.2 DICONSTANTFORCE结构 205

10.5.3 DICUSTOMFORCE结构 205

10.5.4 DIDATAFORMAT结构 206

10.5.5 DIDEVCAPS结构 208

10.5.6 DIDEVICEINSTANCE结构 210

10.5.7 DIDEVICEOBJECTDATA结构 213

10.5.8 DIDEVICEOBJECTINSTANCE结构 214

10.5.9 DIEFFECT结构 217

10.5.10 DIEFFECTINFO结构 220

10.5.11 DIEFFESCAPE结构 222

10.5.12 DIENVELOPE结构 223

10.5.14 DIJOYSTATE结构 224

10.5.13 DIFILEEFFECT结构 224

10.5.15 DIJOYSTATE2结构 225

10.5.16 DIMOUSESTATE结构 228

10.5.17 DIMOUSESTATE2结构 229

10.5.18 DIOBJECTDATAFORMAT结构 230

10.5.19 DIPERIODIC结构 232

10.5.20 DIPROPDWORD结构 233

10.5.21 DIPROPGUIDANDPATH结构 234

10.5.22 DIPROPHEADER结构 234

10.5.23 DIPROPRANGE结构 235

10.5.24 DIPROPSTRING结构 236

10.5.25 DIRAMPFORCE结构 237

10.6 设备常量 237

10.6.1 键盘设备常量 238

10.6.2 鼠标设备常量 243

10.6.3 游戏杆设备常量 244

10.7 返回值 245

第11章 DirectInput For Visual Basic参考 249

11.1 类 249

11.1.1 DirectInput类 249

11.1.2 DirectInputDevice类 252

11.1.3 DirectInputDeviceInstance类 273

11.1.4 DirectInputDeviceObjectInstance类 279

11.1.5 DirectInputEffect类 284

11.1.6 DirectInputEnumDeviceObjects类 290

11.1.7 DirectInputEnumDevices类 291

11.1.8 DirectInputEnumEffects类 292

11.2 数据类型 295

11.2.1 DICONDITION类型 296

11.2.2 DICONSTANTFORCE类型 297

11.2.3 DIDATAFORMAT类型 297

11.2.4 DIDEVCAPS类型 298

11.2.5 DIDEVICEOBJECTDATA类型 299

11.2.6 DIEFFECT类型 300

11.2.7 DIENVELOPE类型 302

11.2.8 DIJOYSTATE类型 302

11.2.9 DIJOYSTATE2类型 304

11.2.10 DIKEYBOARDSTATE类型 306

11.2.11 DIMOUSESTATE类型 306

11.2.12 DIOBJECTDATAFORMAT类型 307

11.2.13 DIPERIODICFORCE类型 308

11.2.14 DIPROPLONG类型 309

11.2.15 DIPROPRANGE类型 310

11.2.16 DIRAMPFORCE类型 311

11.3 枚举类型 311

11.3.1 CONST_DICOMMONDATAFORMATS枚举类型 312

11.3.2 CONST_DICONDITIONFLAGS枚举类型 312

11.3.3 CONST_DIDATAFORMATFLAGS枚举类型 313

11.3.4 CONST_DIDEVCAPSFLAGS枚举类型 313

11.3.5 CONST_DIDEVICEOBJINSTANCEFLAGS枚举类型 315

11.3.6 CONST_DIDEVICETYPE枚举类型 316

11.3.7 CONST_DIDFTFLAGS枚举类型 318

11.3.8 CONST_DIDGDDFLAGS枚举类型 320

11.3.9 CONST_DIEFFFLAGS枚举类型 320

11.3.10 CONST_DIEFTFLAGS枚举类型 320

11.3.13 CONST_DIEPFLAGS枚举类型 322

11.3.12 CONST_DIENUMDEVICESFLAGS枚举类型 322

11.3.11 CONST_DIEGESFLAGS枚举类型 322

11.3.14 CONST_DIESFLAGS枚举类型 324

11.3.15 CONST_DIGFFSFLAGS枚举类型 324

11.3.16 CONST_DIJOYSTICKOFS枚举类型 325

11.3.17 CONST_DIKEYFLAGS枚举类型 327

11.3.18 CONST_DIMOUSEOFS枚举类型 327

11.3.19 CONST_DINPUT枚举类型 327

11.3.20 CONST_DINPUTERR枚举类型 328

11.3.21 CONST_DIPHFLAGS枚举类型 328

11.3.22 CONST_DISCLFLAGS枚举类型 329

11.3.23 CONST_DISDDFLAGS枚举类型 329

11.3.24 CONST_DISFFCFLAGS枚举类型 330

11.4 键盘设备常量 331

11.5 错误码 334