游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4542|回复: 9

问一个关于游戏循环的问题

[复制链接]

19

主题

38

帖子

38

积分

注册会员

Rank: 2

积分
38
QQ
发表于 2003-9-20 21:59:00 | 显示全部楼层 |阅读模式
    我自己写了一个射击游戏,在循环上面用的是定时器,但是随着我的程序的不断扩大,我想把定时器改用一个while循环来写,但是遇到了一些问题,为了找到问题的所在,我就把while循环改成了一个1000次的for循环,但是在循环结束的时候,程序并没有退出,而是画面静止不懂了,请问这是什么原因引起的?我的游戏用的是DirectX的绘图页等技术。
    另外,我再用定时器的时候如果想要是现在有习过程中暂停可以通过停止定时器来完成,那么如果改用while循环以后要实现暂停应该怎么做呢?
    请知道这些的朋友们为我解惑,谢谢了 [em7]

90

主题

797

帖子

833

积分

高级会员

论坛版主

Rank: 4

积分
833
QQ
发表于 2003-9-20 23:08:00 | 显示全部楼层

Re:问一个关于游戏循环的问题

没听懂……

19

主题

38

帖子

38

积分

注册会员

Rank: 2

积分
38
QQ
 楼主| 发表于 2003-9-21 11:32:00 | 显示全部楼层

Re:问一个关于游戏循环的问题

看来我说得不清楚,是这样的,一个游戏程序一般不是都要有一个while循环吗?
我的这个游戏目前是用一个定时器来代替这个循环的,运行起来没有问题,但是当我改用while循环的时候,比如说条件是
while(!gameover)
当然,这个gameover是个bool变量,理论上来说,当我再循环中通过某些方法来改变这个变量的时候应该就会推出循环了,对吧,但是当我再循环中改变这个变量的时候,游戏停止了,但是画面还在屏幕上,并没有真正的退出,请问这是怎么回事?

90

主题

797

帖子

833

积分

高级会员

论坛版主

Rank: 4

积分
833
QQ
发表于 2003-9-21 11:41:00 | 显示全部楼层

Re:问一个关于游戏循环的问题

这个时候,你还在用定时器控制循环吗?

12

主题

138

帖子

140

积分

注册会员

Rank: 2

积分
140
QQ
发表于 2003-9-21 15:31:00 | 显示全部楼层

Re:问一个关于游戏循环的问题

感觉得你的while是退出了
但你画的图画没有刷新
程序定住了
那你的画面也定住了
你试着当while退出时
刷屏一下看看
不懂我的理解是不是你要问的!~

4

主题

14

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2003-9-21 23:02:00 | 显示全部楼层

Re:问一个关于游戏循环的问题

照你说的写法,while()循环肯定是能退出的。所以我认为你的问题出现在别的方面。
浩云说的画面刷新可能是原因。建议你检查源程序,特别检查那些在你改动程序后也受到影响的地方。
找错排错虽然很麻烦,但对提高编程能力很有帮助。

19

主题

38

帖子

38

积分

注册会员

Rank: 2

积分
38
QQ
 楼主| 发表于 2003-9-21 23:26:00 | 显示全部楼层

Re:问一个关于游戏循环的问题

嗯,我问的就是这个意思,谢谢你们。

16

主题

266

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
发表于 2003-9-22 01:44:00 | 显示全部楼层

Re:问一个关于游戏循环的问题

请问你是用win32编程吗,如果是我建议你用win32的空闲处理来完成你的游戏循环,这样可以避免while循环带来的只有退出循环才能做其它的事,因为windows本身还要处理消息

如:
while(1)
        {
                if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
                {
                        if ( msg.message==WM_QUIT) break;
                        TranslateMessage(&msg);
                        DispatchMessage(&msg);
                }
                else
                        if(bActive)
                                if(!GameLoop())
                                        break;
               
        }

21

主题

111

帖子

126

积分

注册会员

Rank: 2

积分
126
QQ
发表于 2003-9-22 14:40:00 | 显示全部楼层

Re:问一个关于游戏循环的问题

同意tslkfyh的说法,WIN32的消息处理功能用在游戏开发中十分方便

16

主题

266

帖子

296

积分

中级会员

Rank: 3Rank: 3

积分
296
发表于 2003-9-23 02:31:00 | 显示全部楼层

Re:问一个关于游戏循环的问题

谢谢,花了四个月用传奇中的资源做了一个垃圾RPG游戏,实现了脚本功能(随意加任务等)等功能,就是不知道怎么样把资源载入,我用的是映射,可渲染时就是慢,有谁知道传奇是怎么做的,还有就是传奇是8位的,它是怎么实现局部alpha混合的(就像站在树后会逶明显示,好像是用了颜色索引,可就是那个npal.idx里面的索引是怎么回事),各位大虾,帮帮忙
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-25 15:30

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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