【初心者】スレを立てる前にココで質問を【Part25】

このエントリーをはてなブックマークに追加
800名前は開発中のものです。
2D横スクロールアクションを作っているのですが、
マップスクロールを「キャラを中心にスクロール」、
「画面端はキャラだけ移動」という一般的な方法を
採用していますが、画像がブレだかボヤケだかの描画に
なってしまいます。
・キャラを中心にスクロールしているときは、背景のマップが
 ぶれる(ぼやける)
・画面端でキャラだけ動いているときは、キャラが
 ぶれる(ぼやける)

スクロール方法は下記サイトの方法で実装しています。
aidiary.hatenablog.com/entry/20050624/1255786339

スクロール中にキャラやマップのぶれを少なくする方法は
何かないでしょうか。
801名前は開発中のものです。:2013/10/25(金) 17:27:00.53 ID:aNhkNpbr
ブレるとかボヤケるってのが、具体的にどういう状況なのか分からん
802800:2013/10/25(金) 19:00:20.16 ID:P0EzyQMO
>>801
なんと表現していいのかわからないのですが、
ブラウザとかでも高速でスクロールさせると文字や画像が
残像する、あのような感じです。

<キャラを中心にスクロール中>
 マップに残像が発生しますが、キャラはくっきり描画
 されます(アニメーションしてても)。
<画面端でキャラだけ移動しているとき>
 マップはくっきり描画されますが、移動中のキャラは
 常に残像が発生します。

※本文が長すぎて書き込みエラーとなったので2回に分けます。
803800:2013/10/25(金) 19:03:43.31 ID:P0EzyQMO
>>801
ファミコンレベルのドット絵ゲームなのですが、
過去、テレビでのファミコンゲームではスクロールで
残像は発生しなかった気がします。
ブラウン管と液晶の違いもあるかもしれませんが、
アルゴリズム自体に何か工夫をすれば軽減できるのでは
と思っているのですが思いつきません。
※参考にしたサイトのサンプルプログラムでも
 同様の残像が発生します。
804名前は開発中のものです。:2013/10/25(金) 19:20:14.43 ID:FqNR75rr
ハードウェアの特性だろうから難しい気もするが、こんなのはどうだろう?

ドット絵でくっきりさせるなら、2倍に拡大して表示して
(400×300 の絵を 800×600 に描画して)
スクロールは拡大した後の画面での 1 ピクセル単位で移動する
(float x,y; drawImage( image, (int) x, (int) y); )
805名前は開発中のものです。:2013/10/25(金) 22:01:46.43 ID:2Ol2QBVg
ティアリングが発生してるんじゃん
vsync同期しろって言ってるじゃん
vsync同期しない限り逃れられないよ
806名前は開発中のものです。:2013/10/26(土) 01:56:00.36 ID:vOP7JN2P
>>803
念のため確認して欲しいのだけれど、移動中にスクリーンショットを取った場合は、ブレてないよね?
ライブラリの都合とかでボケてる可能性はあるかなって
807800:2013/10/26(土) 13:32:25.13 ID:J2m8Iy4g
>>804-806
アドバイスありがとうございます。
今確認できる環境にないので後ほど試してみます。

あと、なぜか下記スレッドに私がここで書いたレスがそのまま
転記されていますが、どなたかが勝手にやったようです。
toro.2ch.net/test/read.cgi/gamedev/1372604225/