游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2438|回复: 6

发现一个问题。WINDOWS大师技巧

[复制链接]

30

主题

89

帖子

91

积分

注册会员

Rank: 2

积分
91
发表于 2010-6-10 10:39:00 | 显示全部楼层 |阅读模式
int Game_Main(void *parms = NULL, int num_parms = 0)
{
// this is the main loop of the game, do all your processing
// here

// get the time
DWORD start_time = GetTickCount();

// erase the stars
Erase_Stars();

// move the stars
Move_Stars();

// draw the stars
Draw_Stars();

// lock to 30 fps
while((start_time - GetTickCount() < 33));    //这不就是负数吗???这怎么控制的??
                                             
// for now test if user is hitting ESC and send WM_CLOSE
if (KEYDOWN(VK_ESCAPE))
   SendMessage(main_window_handle,WM_CLOSE,0,0);

// return success or failure or your own return code here
return(1);

} // end Game_Main

1

主题

266

帖子

280

积分

中级会员

Rank: 3Rank: 3

积分
280
发表于 2010-6-10 11:19:00 | 显示全部楼层

Re:发现一个问题。WINDOWS大师技巧

是么?  那就颠倒过来吧
可能是你那个代码有问题吧
我这里的没问题

30

主题

89

帖子

91

积分

注册会员

Rank: 2

积分
91
 楼主| 发表于 2010-6-10 11:25:00 | 显示全部楼层

Re:发现一个问题。WINDOWS大师技巧

按原著,程序可以正常运行。
但是,那个是什么逻辑呀??

16

主题

154

帖子

309

积分

中级会员

Rank: 3Rank: 3

积分
309
发表于 2010-6-11 00:12:00 | 显示全部楼层

Re:发现一个问题。WINDOWS大师技巧

哪里负数了没看出来.

22

主题

144

帖子

193

积分

注册会员

Rank: 2

积分
193
发表于 2010-6-11 16:36:00 | 显示全部楼层

Re:发现一个问题。WINDOWS大师技巧

(DWORD)(12) - (DWORD)(13) 是永远大于 (DWORD)0 的
(start_time - GetTickCount() < 33) 是永远false 的。

所以。

0

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2010-6-14 09:41:00 | 显示全部楼层

Re: Re:发现一个问题。WINDOWS大师技巧

flarez: Re:发现一个问题。WINDOWS大师技巧

(DWORD)(12) - (DWORD)(13) 是永远大于 (DWORD)0 的
(start_time - GetTickCount() < 33) 是永远false 的。

所以。

看不明白??
我个人理解是(start_time - GetTickCount() < 33)  是true

30

主题

89

帖子

91

积分

注册会员

Rank: 2

积分
91
 楼主| 发表于 2010-6-16 19:34:00 | 显示全部楼层

Re:发现一个问题。WINDOWS大师技巧



目的是控制时间。永远TURE。
怎么跳出?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-8 13:35

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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