游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1854|回复: 1

关于控制游戏帧数的问题,请各位帮忙看下

[复制链接]

9

主题

22

帖子

40

积分

注册会员

Rank: 2

积分
40
发表于 2004-4-22 17:39:00 | 显示全部楼层 |阅读模式
我编了一个很简陋的飞机躲子弹的程序,但是在运行的过程中发现了一个问题,就是游戏的帧数无法控制。在这个程序中,从画面的中央会随机地向各个方向发射子弹。画面的上方从左到右有4个数字,分别是帧数,开始时间(starttime=clock(),输出的就是starttime),结束时间(同开始时间),最后一个是前两者之间的差值。但是问题在于,当子弹数量增多时,飞机的移动速度会明显变慢,但此时帧数仍然是60+帧,还有个奇怪的现象,开始时间和结束时间之间的之间的差值始终为3个值——15,16,0。以前曾经在这里请教过类似的问题,当初得到的指点是在消息循环中增加如下语句
if (endtime-starttime>=特定值)
{
    gamemain();
}
但是如此之后游戏速度虽然能够得以控制,但是如果飞机的移动速度较快的话看上去飞机似乎有比较明显的抖动迹象。不知道是不是我的眼睛有问题,请各位给在下指点:主要是如下两个问题。
1.为什么开始时间和结束时间之间的差值总是固定的3个值?为什么游戏速度变慢了帧数还是不变?
2.在对帧数进行了控制之后,飞机移动时是否有明显的抖动,这种情况是否正常,玩者是否察觉得到,如果这个现象很明显,该如何解决?
下面附上这个程序,第一个没有控制帧数,第二个控制了帧数,恳请给予指点

sf_2004422173923.rar

101.43 KB, 下载次数:

6

主题

40

帖子

58

积分

注册会员

Rank: 2

积分
58
发表于 2004-4-23 09:53:00 | 显示全部楼层

Re:关于控制游戏帧数的问题,请各位帮忙看下

所谓的帧数控制不是简单的指图形每秒显示的数量,在2D中,可能有时候显示的东西过多,导致每秒显示数量减少。

确切的来说,帧数控制应该指程序每秒钟运行的次数。保证程序运行的速度才能保证在不同配置的机器上达到速度的统一。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-30 11:56

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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