【发布时间】:2013-12-19 12:15:46
【问题描述】:
我用 C 语言编写了一个小型图形应用程序,我在其中画了一个盒子和一个圆圈(就像房间里的一个球)。当圆圈触及其中一个边界时,它会反弹回来。
我为此使用了以下示例代码:
xVelocity = 5;
yVelocity = 5;
if(circle.x <= 0) {
xVelocity = 5;
}
if(circle.y <= 0) {
yVelocity = 5;
}
if(circle.x>=box.width) {
xVelocity = -5;
}
if(circle.y>=box.breadth) {
yVelocity = -5;
}
drawCircle();
我使用 50 毫秒的刷新率来运行循环以更新位置并绘制圆。
但是,当我通过减少刷新时间或增加速度来增加圆的速度时,会发生闪烁。此外,如果我增加速度,圆圈会在检测到碰撞之前超出范围。我用Turbo C写了这个程序。
我想知道如何提高帧速率以免出现闪烁。这个问题还有其他解决方案吗?
【问题讨论】:
标签: c graphics game-physics frame-rate