嘿伙计们,我正在使用一些汇编和 C 为原始类型板编程,认为该板类似于老式的黑白游戏男孩。
我在编写游戏时遇到了一个问题,因为没有后备缓冲区。当我清除屏幕时,它会直接绘制到屏幕上,以便真正清除屏幕,从而使我绘制的任何内容都不可见,因为它会在下一次通过时立即清除。因此,它不是用新的绘制屏幕替换绘制的屏幕,而是清除屏幕然后绘制它。
我想出了一个骇人听闻的解决方案,将渲染限制为每秒 10 帧。我这样做的方法是清除屏幕,绘制形状,然后在 1/10 秒内燃烧一个循环,无论多长时间。这样,任何被绘制的东西都会在那里停留更长时间,并且可见的时间更长,允许用户在它被立即擦除之前看到它。IE
while (1)
{
doRender = 1;
screen_clear();
draw_circle(x,y,20,1);
while(doRender)
{
// a interrupt will set doRender to 0, thus ending the loop
}
}
这行得通!有点,它会产生闪烁,并不可怕,但可以肯定的是。我的游戏不需要令人难以置信的帧率,10/秒就可以了。
有人对我的问题有更好的解决方案吗?