2017-10-19 12 views
1

私はプロジェクトをやっている学生です。CMDウィンドウで水平軸に沿ってスムーズに移動する方法

私は500×500のアレイを作りました。私の文字「■」は画面の中央にあります。 CMDウィンドウ上のビジュアルマップは、500 * 500アレイのすべてを表示することができないため、縦軸に沿ってスクロールすることができます。配列はループに入れられ、文字「■」を制御する矢印キーコマンドを受け取ります。最近、私は配列全体を印刷することなく、キャラクターを移動させることができ、コードが見つかりました:

int gotoxy(int x, int y) 
{ 
COORD Cur; 
Cur.X=x; 
Cur.Y=y; 
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), Cur); 
} 

をしかし、これは左右にマップを拡張おろかスムーズな水平移動を作成するには十分ではありません。アレイの所望のサイズを毎回印刷すると、それはスタッターになる。

サイズがない地図にスムーズにキャラクターを移動する方法があるかどうかを知りたいと思います。

+0

はい、ありますが、これはチュートリアルの場所ではありません。参照してください:[ヘルプ/トピック] –

+1

「スムーズ」とは、文字をピクセル単位で移動することを意味している場合、それは不可能です。あなたの場合、「ピクセル」は文字の位置です。 –

+0

ええ、あなたが不明なことを申し訳ありません。 – WaterDragonFly

答えて

0

いくつかの時間前、私はcmdでPongゲームを作った。 coutを使用して、すべてのフレームを更新するには非常に時間がかかりました。我々は最終的にWindows.hライブラリを使用しています。あなたがしているように、そして関数WriteConsoleOutputを使用すると、ラグはシーン全体を更新することさえなくなりました。