No.1ベストアンサー
- 回答日時:
画面の表示処理が、
1) 画面消去
2) 背景描画
3) キャラクター描画
を繰り返すような方式だと、そういう事があります。
画面消去の状態を表示してしまうのが原因です。
一般的な解決法としては、ダブルバッファリングという手法で、
1) 仮想の画面に背景描画
2) 仮想の画面にキャラクター描画
3) 実際の画面に仮想の画面を貼り付け
なんかの方法で、実際の画面に背景やキャラクターが描画されていない状態を作らないって事で対処します。
それ以前の解決法だと、
1) 画面消去 は、初回の1回のみで、
2) 直前のキャラクターがあれば、その部分を消去
3) キャラクター描画
で、2)3)を繰り返しとか。
キャラクターが重なると、やっぱりちらつきます。
背景があると、キャラクターの消去を背景での塗りつぶしする事になり、ちょっと高度です。
この回答への補足
回答ありがとうございます。
なるほど、ダブルバッファリングですか。それはcでも使えるのでしょうか?
検索してみても他の言語での解説しか出てこないもので
No.2
- 回答日時:
>なるほど、ダブルバッファリングですか。
それはcでも使えるのでしょうか?>検索してみても他の言語での解説しか出てこないもので
C言語「だけ」では使えませんね。
もとよりC言語の標準ライブラリにはグラフィックを扱うものがありません。
環境によってはライブラリが用意されていたりしますが。
WindowsならAPIでも解決できる(そして、検索でも見つかる)と思われますが…。
質問者さんの環境が不明ですので。
# VC++とでも書いてあればWindowsであろうことは想定できる…でしょうけど…。
# それでもCUIで作っていたらダブルバッファリングとか無関係ですし。
まぁ、WindowsでGUIと想定して…
http://www13.plala.or.jp/kymats/study/multimedia …
http://relog.xii.jp/archives/2006/06/windows_gdi …
http://blog.goo.ne.jp/masaki_goo_2006/e/d3c18365 …
などなど…。
「Win32 ダブルバッファリング」で検索しただけですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- C言語・C++・C# C言語 ① 5秒間 1秒間隔で点滅を繰り返す ② 3秒間 0.5秒間隔で点滅を繰り返す ①→②→①→ 5 2022/05/03 23:37
- 哲学 日本語は 言語類型として あたかも始原のごとくである 3 2022/05/29 04:41
- その他(言語学・言語) 外国語問題 1 2022/07/21 15:21
- Excel(エクセル) Excelヘルプの原文を表示する最速の方法(手順)には? 1 2023/08/11 11:30
- 日本語 https://eprints.lib.hokudai.ac.jp/dspace/bitstream 6 2022/05/22 18:54
- その他(言語学・言語) ピダハン語 2 2022/07/14 12:41
- docomo(ドコモ) 携帯 arrows we の操作 4 2023/03/29 18:53
- 日本語 「~人」と「~名」の使い分け 2 2022/06/02 11:59
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
scilabでのグラフ描画時の軸設定
-
VC;;6.0のMFCで線を簡単に引け...
-
C# DrawImage 物理サイズでな...
-
MFCでのコンボボックスについて
-
ビットマップに描画をしてピク...
-
DrawLineで引いた線が消えてし...
-
for文の実行速度を遅くしたいの...
-
Word 描画オブジェクトを削除...
-
Flashにおけるペンツールが使え...
-
Word:描画オブジェクト内の画...
-
花火のアルゴリズム
-
VBA シートのボタン名を変更し...
-
ユーザーフォームに別シートか...
-
VBA(エクセル)で自動的にボタン...
-
worksheetFunctionクラスのVloo...
-
実行時エラー 438になった時の...
-
vb.netで画面のコントロールId...
-
【Excel VBA】マクロをボタンに...
-
C# TEXTが空白であるLABELは何...
-
「Columns("A:C")」の列文字を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ListBoxで改行したい
-
for文の実行速度を遅くしたいの...
-
Word 描画オブジェクトを削除...
-
C#を用いて描画する四角形の角...
-
ビットマップに描画をしてピク...
-
PowerPoint の VBA
-
給紙トレイをダイアログを使わ...
-
win32api複数のタイマーを同時...
-
画面に絵を出す方法
-
MFCでのコンボボックスについて
-
.NETのPictureBoxでウインドウ...
-
scilabでのグラフ描画時の軸設定
-
VC;;6.0のMFCで線を簡単に引け...
-
Excel VBA:コントロールボタン...
-
花火のアルゴリズム
-
Excel 2007で、フリーフォーム描画
-
VB.NETでグラフィックを描くと...
-
円の頂点の求め方を知りたいです。
-
C# DrawImage 物理サイズでな...
-
水平線の描画
おすすめ情報