
デバッカでおかしな値が出る件は、オブジェクトをポインタ型に変更して明示的にインスタンス化しても
結局変わりませんでした。それどころかクラスの中で別のクラスをポインタで持たせると移送しても元のアドレスが使用されるので余計へにょへにょになることが解りました。
Webで色々調べたところ、Copy関係のメソッドも見つけられず、ポインタしない方がうまくいくようなことが書かれていたので結局全部元に戻して、振り出しに戻しました。
値がおかしいのは、どうもコーディングも問題というよりもデバッカ自体の問題のようで、デバッカでの値はおかしくても、処理結果は正しく計算されているようなのでとりあえずこのまま進めることにします。
配列のクラスをデバッカするとデバッカでは正しい値が検出できないのでしょうかね。
Cの最適化の関係でもそんなことになるらしいです。
金魚の病気は治ったようでどうにかそれらしく動き始めました。
土日はプログラム三昧だったので気づいたら机の上がガリレオみたいになってた。
金魚の病気がまだ直りません。
どうやら原因はこんな感じのようです。
↓
http://felmata.hp.infoseek.co.jp/cpp11.html
他に調べたところ、クラスを配列にして使うにはC風の配列より vectorとかiteratorとかを使った方法が良いようで。
↓
http://209.85.175.104/search?q=cache:zfezbrOBF5cJ:konuma.txt-nifty.com/blog/2006/01/post_38c5.html+C%2B%2B+%E3%82%AF%E3%83%A9%E3%82%B9%E3%80%80%E9%85%8D%E5%88%97&hl=ja&ct=clnk&cd=1&gl=jp
C++の配列を甘くみてました。
この休み中になんとかしてやるぞ。
DirectXをC#で使える方法を探す方が楽かも ...。
どうやら原因はこんな感じのようです。
↓
http://felmata.hp.infoseek.co.jp/cpp11.html
他に調べたところ、クラスを配列にして使うにはC風の配列より vectorとかiteratorとかを使った方法が良いようで。
↓
http://209.85.175.104/search?q=cache:zfezbrOBF5cJ:konuma.txt-nifty.com/blog/2006/01/post_38c5.html+C%2B%2B+%E3%82%AF%E3%83%A9%E3%82%B9%E3%80%80%E9%85%8D%E5%88%97&hl=ja&ct=clnk&cd=1&gl=jp
C++の配列を甘くみてました。
この休み中になんとかしてやるぞ。
DirectXをC#で使える方法を探す方が楽かも ...。

病気の金魚ばかりです。
まっすぐ泳いでくれません。
バックするわ空は飛ぶわ壁突き抜けるわ。
デバッグ中におかしな所を発見した。
②の次に③④⑤と動く場合がある。
(②の次に③⑤の場合もあります)
なぜだろう?
そもそも③でも条件判断されているか。
値を見ながらじっくり追いかけよう...。
-----------------------------------------------------
if (oldPosx > kingyo.Posx)
{
if (oldPosz > kingyo.Posz) ①
kingyo.Roy = 3.14 + s; ②
else ③
kingyo.Roy = 3.14 - s; ④
}
else ⑤
{
if (oldPosz > kingyo.Posz)
kingyo.Roy = 1.57 + s;
else
kingyo.Roy = 1.57 - s;
}
-----------------------------------------------------

