【初心者】スレを立てる前にココで質問を【Part25】
2D横スクロールアクションを作っているのですが、
マップスクロールを「キャラを中心にスクロール」、
「画面端はキャラだけ移動」という一般的な方法を
採用していますが、画像がブレだかボヤケだかの描画に
なってしまいます。
・キャラを中心にスクロールしているときは、背景のマップが
ぶれる(ぼやける)
・画面端でキャラだけ動いているときは、キャラが
ぶれる(ぼやける)
スクロール方法は下記サイトの方法で実装しています。
aidiary.hatenablog.com/entry/20050624/1255786339
スクロール中にキャラやマップのぶれを少なくする方法は
何かないでしょうか。
ブレるとかボヤケるってのが、具体的にどういう状況なのか分からん
802 :
800:2013/10/25(金) 19:00:20.16 ID:P0EzyQMO
>>801 なんと表現していいのかわからないのですが、
ブラウザとかでも高速でスクロールさせると文字や画像が
残像する、あのような感じです。
<キャラを中心にスクロール中>
マップに残像が発生しますが、キャラはくっきり描画
されます(アニメーションしてても)。
<画面端でキャラだけ移動しているとき>
マップはくっきり描画されますが、移動中のキャラは
常に残像が発生します。
※本文が長すぎて書き込みエラーとなったので2回に分けます。
803 :
800:2013/10/25(金) 19:03:43.31 ID:P0EzyQMO
>>801 ファミコンレベルのドット絵ゲームなのですが、
過去、テレビでのファミコンゲームではスクロールで
残像は発生しなかった気がします。
ブラウン管と液晶の違いもあるかもしれませんが、
アルゴリズム自体に何か工夫をすれば軽減できるのでは
と思っているのですが思いつきません。
※参考にしたサイトのサンプルプログラムでも
同様の残像が発生します。
ハードウェアの特性だろうから難しい気もするが、こんなのはどうだろう?
ドット絵でくっきりさせるなら、2倍に拡大して表示して
(400×300 の絵を 800×600 に描画して)
スクロールは拡大した後の画面での 1 ピクセル単位で移動する
(float x,y; drawImage( image, (int) x, (int) y); )
ティアリングが発生してるんじゃん
vsync同期しろって言ってるじゃん
vsync同期しない限り逃れられないよ
>>803 念のため確認して欲しいのだけれど、移動中にスクリーンショットを取った場合は、ブレてないよね?
ライブラリの都合とかでボケてる可能性はあるかなって
807 :
800:2013/10/26(土) 13:32:25.13 ID:J2m8Iy4g
>>804-806 アドバイスありがとうございます。
今確認できる環境にないので後ほど試してみます。
あと、なぜか下記スレッドに私がここで書いたレスがそのまま
転記されていますが、どなたかが勝手にやったようです。
toro.2ch.net/test/read.cgi/gamedev/1372604225/