游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2532|回复: 5

我想用directinput写程序。可是我怎么初始化我的程序呢。

[复制链接]

6

主题

24

帖子

24

积分

注册会员

Rank: 2

积分
24
QQ
发表于 2004-4-26 19:58:00 | 显示全部楼层 |阅读模式
我本来是用新建win32 application做的程序。
现在想用到directinput。我该怎么做?是不是要改消息循环还是怎么的。
高手指点呀  [em17]

5

主题

255

帖子

255

积分

中级会员

Rank: 3Rank: 3

积分
255
发表于 2004-4-26 22:18:00 | 显示全部楼层

Re: 我想用directinput写程序。可是我怎么初始化我的程序呢。

初始化COM

6

主题

24

帖子

24

积分

注册会员

Rank: 2

积分
24
QQ
 楼主| 发表于 2004-4-26 22:38:00 | 显示全部楼层

Re: 我想用directinput写程序。可是我怎么初始化我的程序呢。

....其实我是不知道怎么建造程序的框架。如果不希望在MsgPro里面执行我的代码。
我应该把它放哪里呢?

30

主题

298

帖子

299

积分

中级会员

Rank: 3Rank: 3

积分
299
QQ
发表于 2004-4-26 22:44:00 | 显示全部楼层

Re: 我想用directinput写程序。可是我怎么初始化我的程序呢。

在你的程序里需要的地方调用就可以了。DINPUT与WINDOWS消息并不是水火不容的。

1

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2004-4-27 02:13:00 | 显示全部楼层

Re: 我想用directinput写程序。可是我怎么初始化我的程序呢。

首先要这样来处理消息:
while (1)
{
   MSG msg;
   BOOL bMsg = true;
   while( bMsg )
   {
      if( m_bStarted )
         bMsg = PeekMessage( &msg, NULL, 0U, 0U, PM_REMOVE );
      else
         bMsg = GetMessage( &msg, NULL, 0U, 0U );

      if( bMsg )
      {
         TranslateMessage(&msg);
         DispatchMessage(&msg);
      }
    }
    GameMain();
}
然后单独做一个类来封装directinput的功能,例如封装在一个叫GameInput的类里面,在其中做一个成员函数GetKeyboard()来获得键盘状态
然后在游戏的主体GameMain()中,调用xxxx.GetKeyboard(),这样游戏就不断循环下去,每次循环都会刷新、获取键盘状态。

6

主题

24

帖子

24

积分

注册会员

Rank: 2

积分
24
QQ
 楼主| 发表于 2004-4-28 02:05:00 | 显示全部楼层

Re: 我想用directinput写程序。可是我怎么初始化我的程序呢。

多谢各位。尤其是 zhangxi0809
我知道该怎么用了。以后还请多指教啊!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-1 22:23

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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