ねえ、私はいくつかのアセンブリとCを使用してプリミティブ型のボードをプログラミングしています。ボードは、古い学校の黒と白のゲームボーイの親族だと考えてください。
ゲームを書いているときに、バックバッファーがないという問題が発生しています。画面をクリアすると、画面に直接描画されるため、画面は本当にクリアされます。次のパスですぐにクリアされるため、描画したものはすべて非表示になります。したがって、描画された画面を新しい描画された画面に置き換える代わりに、画面をクリアしてから描画します。
レンダリングを1秒あたり10フレームに制限するというハックな解決策を思いつきました。これを行う方法は、画面をクリアし、図形を描画してから、ループを1/10秒の長さで焼き付けることです。このようにして、描画されたものはすべてそこに長く留まり、より長く表示されるため、ユーザーはすぐに消去される前にそれを見ることができます。すなわち
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/秒で十分です。
誰かが私の問題に対するより良い解決策を持っていますか?