画面のチカチカをどうにかしたい

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
sadora3
記事: 175
登録日時: 11年前

画面のチカチカをどうにかしたい

#1

投稿記事 by sadora3 » 9年前

画面がチカチカするのが嫌で、これをどうにかしたいです。
C言語でコンソールアプリケーションなのですが、出来ますでしょうか?

DXライブラリを使えば、SetDrawScreen関数とScreenFlip関数を使ってダブルバッファリングという方法で対処できましたよね。
このダブルバッファリングというのはコンソールアプリケーションでは出来ますでしょうか?

OS:Windows7
コンパイラ:Microsoft Visual Studio 2010

コード:

#include <stdio.h>
#include<stdlib.h>

void DrawBox();

void main(){
	while(1){
		DrawBox();
		system("cls");
	}
}

void DrawBox(){
	for(int y = 0; y < 20; y++){
		for(int x = 0; x < 20; x++){
			printf("□");
		}
		printf("\n");
	}
}

ISLe()

Re: 画面のチカチカをどうにかしたい

#2

投稿記事 by ISLe() » 9年前

コンソールのチラツキを抑えるには、必要な部分のみ書きかえます。

コンソールAPIというものを使えば、画面の特定の位置のキャラクタ(文字)を書きかえることができます。

sadora3
記事: 175
登録日時: 11年前

Re: 画面のチカチカをどうにかしたい

#3

投稿記事 by sadora3 » 9年前

なるほどです。そんなことが可能なのですか。ということは画面の文字を全部消すという処理は不要になるのですね。
しかし、コンソールAPIで検索したところ、コンソールアプリケーションについてしか出てこなかったのですが、コンソールAPIとは一体なんでしょうか?
ライブラリですか?

ISLe()

Re: 画面のチカチカをどうにかしたい

#4

投稿記事 by ISLe() » 9年前

コンソールAPIというのは、コンソール操作に関するWin32 APIです。
コンソールAPIはコンソールに対して使うものなので、コンソールアプリケーションについてしか出てこなくても当然だと思います。

sadora3
記事: 175
登録日時: 11年前

Re: 画面のチカチカをどうにかしたい

#5

投稿記事 by sadora3 » 9年前

Win32 APIですか・・・。
私の知識では、まだその領域へ足を運ぶのは困難ですね・・・。
質問に回答していたただき、ありがとうございました。

ISLe()

Re: 画面のチカチカをどうにかしたい

#6

投稿記事 by ISLe() » 9年前

検索すれば、コンソールAPIをコンソール操作に便利なふうに関数にまとめたページとか見付かりますが。

最低限必要なのは、範囲を指定文字で埋める(画面クリア)のと指定した位置にカーソルを移動する機能くらいですし。

ncursesライブラリを使う方法とかもありますよ。
こちらを使うとLinuxとかとソースコードを共通にできるメリットもあります。

閉鎖

“C言語何でも質問掲示板” へ戻る