アプリ版:「スタンプのみでお礼する」機能のリリースについて

Active Basicでゲームを作っています。
最終目標は『東方』のような弾幕避けシューティングです。
スレッドを何とか勉強して、ちらつきも抑えようと頑張っています。

このとき、画像を描写する場合には、
InvalidateRect(hMainWnd, ByVal 0, TRUE)
を使って最描写を連続して繰り返してきました。
しかし、これを繰り返すと、『プレイヤー』『弾』『敵』を何度も連続して再描写するため、どうしてもちらついてしまいます。

この、『プレイヤー』『弾』『敵』を別々に描写するとちらつき現象はなくなると思うのですが、どうしてもやり方がわかりません。
InvalidateRect(hMainWnd, ByVal 0, TRUE)を使うと、結局Paintイベントが呼び出されるため、Sub MainWnd_Paint(hDC As HDC)の中に『プレイヤー』『弾』『敵』の描写処理を書いて、
プレイヤー描写、弾(約50個)のループ描写、敵のループ描写が一度にまとめて描写されてしまいます。

これらを別々に表示させるにはどうすればいいのでしょうか?
すみませんが、出来るだけやさしくご教授ください。
お願いします。

A 回答 (1件)

多分 InvalidateRect だと PAINT メッセージを post するからではないでしょうか.


パラメータをどのように設定すればよいのかわかりませんが, 同じ PAINT メッセージを SendMessage で送りつけるとかすればいいような気がします.
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!