http://www.play21.jp/board/formz.cgi?ac ... &rln=36229
↑のURLを見て、3Dでのカメラを実装しようと思い、とりあえず書いてあるプログラムをコピペしたのですが、エラーは出ないのですが変な動作をします。
最初は普通に描画されるのですが、スペースキーを押した瞬間にカメラのアングルがかわってしまいます。(画像上・期待通りのアングル、画像下・変わってしまったアングル)
また、スペースキーを一回でも押した後は、r.xやr.yを変えてもアングルが変わらなくなってしまいました・・・
自分で色々コメントアウトしたりして調べた結果、SetTransformToView()関数がどうも原因になっている(?)様なのですが、これがないとカメラのアングルを変えたい時に変えることが出来ないようです。
この関数を調べてみても、この掲示板のこの質問が出てくるだけで関数の詳細が出てこないので困ってしまいました・・・
どうすればこの誤作動は直るのでしょうか?
環境はコンパイラがBCCDeveroperで、WindowsXP、龍神録プログラミングの館のコードをつかっています。勿論DXライブラリを使ってます。
よろしくお願いします。
足りない情報などがあったらすいません。
3Dでのカメラの実装について
Re:3Dでのカメラの実装について
オリジナルゲームっぽいのでどういうコードになっているのか詳細はわかりませんが、
3D処理部分がリンク先のコードと同等であるなら、真っ先に考えられる可能性としては
スペースキーをトリガーにして、何かがメモリバッファを破壊していることが挙げられます。
あまりお行儀はよくないのですが、試しに Camera構造体のメンバの一番先頭に
[color=#d0d0ff" face="monospace]
char padding[0x10000];
[/color]
を追加してみて下さい。
これでもし現象が収まったとしたら、何かがこのカメラの情報を上書き・破壊しているので、
どこから破壊されているのかを調べて下さい。
3D処理部分がリンク先のコードと同等であるなら、真っ先に考えられる可能性としては
スペースキーをトリガーにして、何かがメモリバッファを破壊していることが挙げられます。
あまりお行儀はよくないのですが、試しに Camera構造体のメンバの一番先頭に
[color=#d0d0ff" face="monospace]
char padding[0x10000];
[/color]
を追加してみて下さい。
これでもし現象が収まったとしたら、何かがこのカメラの情報を上書き・破壊しているので、
どこから破壊されているのかを調べて下さい。
Re:3Dでのカメラの実装について
返信ありがとうございます!
言われた通りにしたら直ってしまったので、調べてみたら破壊してる場所がありました…
ほんと初歩的なミスでお手を煩わせて申し訳ないです…
ただ、何故破壊してるのかよくわかりません…
おそらくスペースキーを押した事によってオプションが一つ増えたのが問題だろうと思いGV.hでの
option_bb[2]
を
option_bb[3]
にしたところ直ったのですが、オプションが増えると言っても3個までしか増えないので
option_bb[0]
option_bb[1]
option_bb[2]
で3つあるので足りてるんじゃないかなぁ?と思ってました
もしかしてたまたま直っただけで、違う場所が原因なのでしょうか?
配列について勘違いしてたら怖いので、聞かせて頂きました
引き続きよろしくお願いします
言われた通りにしたら直ってしまったので、調べてみたら破壊してる場所がありました…
ほんと初歩的なミスでお手を煩わせて申し訳ないです…
ただ、何故破壊してるのかよくわかりません…
おそらくスペースキーを押した事によってオプションが一つ増えたのが問題だろうと思いGV.hでの
option_bb[2]
を
option_bb[3]
にしたところ直ったのですが、オプションが増えると言っても3個までしか増えないので
option_bb[0]
option_bb[1]
option_bb[2]
で3つあるので足りてるんじゃないかなぁ?と思ってました
もしかしてたまたま直っただけで、違う場所が原因なのでしょうか?
配列について勘違いしてたら怖いので、聞かせて頂きました
引き続きよろしくお願いします
Re:3Dでのカメラの実装について
> にしたところ直ったのですが、オプションが増えると言っても3個までしか増えないので
3個までつかうなら定義が option_bb[2]では足らないですよ。
option_bb[3]とすれば option_bb[0]~ option_bb[2]までの3つが使えます。
Re:3Dでのカメラの実装について
そうゆう風になっていたのですか、知りませんでした…
もしかしたら他にも間違えてるかも…(-.-;)
Justyさんのおかげで無事エラーが無くなりました
ありがとうございました!
解決は後でパソコンの方で押しときます
もしかしたら他にも間違えてるかも…(-.-;)
Justyさんのおかげで無事エラーが無くなりました
ありがとうございました!
解決は後でパソコンの方で押しときます
