游戏开发论坛

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

在MFC下实现游戏循环

[复制链接]

56

主题

758

帖子

768

积分

高级会员

Rank: 4

积分
768
发表于 2007-7-9 10:13:00 | 显示全部楼层 |阅读模式
在API下实现游戏循环屡见不鲜,在MFC下如何实现游戏循环呢?MFC是面向对象的呀?

6

主题

307

帖子

309

积分

中级会员

Rank: 3Rank: 3

积分
309
发表于 2007-7-9 13:04:00 | 显示全部楼层

Re:在MFC下实现游戏循环

OnIdle

22

主题

144

帖子

193

积分

注册会员

Rank: 2

积分
193
发表于 2007-7-12 10:37:00 | 显示全部楼层

Re:在MFC下实现游戏循环

hahah.....
我曾经也有这样的疑问终于有人和我一样的问题出现了,我就把我的经验共享把。

1,CWinApp::OnIdle()重载:
{
GameMain();
return FALSE;
}
2,直接改写CWinApp::Run():
具体的代码我忘了,参数有些对不上,请见谅。msg好象要用其他东西代替,忘了
{
while(1){
     if( !PeekMessage(&msg,NULL,NULL,NOT_REMOVE)){
        if(mag==WM_QUIT){
           ExitInstance();
        }
        GameMain();
      }
      if(PeekMessage(&msg,NULL,NULL,NOT_REMOVE)){
         if(!GetMessage(&msg,NULL,NULL...)){
            ExitInstance();
         }
         ::TranslateMessage(&msg);
         :isptchMessage(&msg);
      }
}
可以减少原来的Run中间的很多麻烦事,如果用别的方法还是不行,在Andre Lamothe书上的游戏loop我试 过,不行。
3.用计数器方式,就是SetTimer()函数,在初始的时候设置,具体的代码忘了,可以查书,我看见的一个MFC中的openGl sample有代码示例,在MSDN上面,一看就懂。

目前为止,我只知道这些方法产生loop。不知道对你有没有用。

56

主题

758

帖子

768

积分

高级会员

Rank: 4

积分
768
 楼主| 发表于 2007-7-12 12:06:00 | 显示全部楼层

Re:在MFC下实现游戏循环

够了,谢谢!(OnIdle…………)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 20:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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