プロフィール

JaJa

JaJa
ツイニ スマートフォンヲ テニイレタゾ~! ('▽'ノ

...Now Developing
→ちょっと大きいサイズ
ブログ内検索
リンク

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2012/05/02▼バグがあらわれた!:3ひき

今日から手順3の画面フローの実装に入るのですが、作業し始めてすぐに、3つの大きなバグに見舞われました……。
3つのバグは以下の通り。
・A.なぜか意図した座標と違う場所にスプライトが表示されてしまう。
・B.なぜか意図した色と違う色でスプライトが表示されてしまう。
・C.なぜかタッチを離したのに、タッチしたままの挙動として認識されてしまう。

まずは、これらを先に直さないと!

今日はAのバグと戦ってました。
Aは直接、スプライト→画面(正確にはデバイスのバックバッファ)に描画する際は起きなかった現象なのですが、スプライト→レンダーターゲット→画面と描画すると、表示位置がおかしなことになるという現象でした。
レンダーターゲットは、画面表示を便利にしてくれる一時的なグラフィック素材置き場みたいなもの、かな。

本来、スプライト→レンダーターゲットを座標変換X→Y、レンダーターゲット→画面を座標変換Y→Zとした場合、これを順当に組み合わせると、X→Y=Y→Zとなり、結果としてX→Zとなるのが正しい挙動ですが……、検証してみたところ、X→Y≠Y'→Z'となって、その結果X→Z'となってしまってて、「Zに表示させたいのに、なんでZ'に表示されてるんだあー!?」てなことになっていたのでした。('-';

問題の本質は、Y≠Y'となってしまっている部分にあり、この部分の座標変換行列を修正することで、正しく表示できるようになりました。
作るゲームは2Dなのですが、グラフィックの描画処理は3Dで行われているので、3Dの描画処理の勉強もしていかないと!('-'

バグはあと2個残ってます。
次はバグBに着手しているのですが……これが予想外なことに。。。

20120502.jpg
▲描画処理の変換行列を修正しました。2つの座標変換をリンクさせた行列の計算に間違いがありました。ぐげー!
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。