游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3806|回复: 3

有看过《DirectX游戏开发终极指南》的吗?

[复制链接]

6

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2009-3-2 00:45:00 | 显示全部楼层 |阅读模式
书中的程序可以运行吗?

4

主题

81

帖子

81

积分

注册会员

Rank: 2

积分
81
发表于 2009-3-2 18:46:00 | 显示全部楼层

Re:有看过《DirectX游戏开发终极指南》的吗?

当然可以

6

主题

13

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2009-3-5 12:50:00 | 显示全部楼层

Re:有看过《DirectX游戏开发终极指南》的吗?

本人运行《DirectX游戏开发终极指南》书中的例子时遇到了问题:


出现了错误:
未处理的“System.NullReferenceException”类型的异常出现在 Stranded.exe 中。
其他信息: 未将对象引用设置到对象的实例。

为什么?高手们说说。这是有关一个directx的一个例子。提示出错的地方在:
m_device->SetProperty(DIPROP_RANGE, &range.diph);/////////

CGameController::CGameController(LPDIRECTINPUT8 input, HWND hwnd)
{
  // Save copies.
  gThis = this;
  m_hwnd = hwnd;
  m_inputSystem = input;

  // Initialize the game controller.
  DIPROPRANGE range;
  DIDEVCAPS caps;

  m_inputSystem->EnumDevices(DI8DEVCLASS_GAMECTRL, (LPDIENUMDEVICESCALLBACK)gJSEnumDeviceCallBack,
                              NULL, DIEDFL_ATTACHEDONLY);

  if(m_device)
      {
        range.diph.dwSize = sizeof(DIPROPRANGE);
        range.diph.dwHeaderSize = sizeof(DIPROPHEADER);
        range.diph.dwHow = DIPH_BYOFFSET;
        range.lMin = -1000;
        range.lMax = 1000;
        range.diph.dwObj = DIJOFS_X;
          m_device->SetProperty(DIPROP_RANGE, &range.diph);/////////出错的这个
        range.diph.dwObj = DIJOFS_Y;
        m_device->SetProperty(DIPROP_RANGE, &range.diph);

        if(SUCCEEDED(m_device->GetCapabilities(&caps))) m_numButtons = caps.dwButtons;
        else m_numButtons = 4;
      }
}

5

主题

34

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2009-3-6 17:21:00 | 显示全部楼层

Re:有看过《DirectX游戏开发终极指南》的吗?

不能运行,我在google上搜过,被骂死了,主要是加入input后的程序就都不行了,我搜到的评论说要加入手柄才可以,可游戏本身基本用不上手柄,我本人对该书也很失望
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-20 05:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表