1人でゲームが作れるように修行します。2
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2010/05/04(火) 00:44:29ID:HN0quC1A前スレ
1人でゲームが作れるように修行します。
http://pc11.2ch.net/test/read.cgi/gamedev/1006284805/
0329SGGK ◆6pZCoAtaxk
2011/11/06(日) 22:32:37.41ID:+A7uxjdPボールの軌跡がプログラムの意図と無関係な動きをする問題でつまづく。
左マウスをクリックしたときにボールの速度初期値に変更を加える方式だけど、
変更を単純にしてみたり、ボールの状態を一定にしてみてもダメ。
ふと、マウスの状態を決める箇所のプログラムを目で追っていると、
マウスを左クリックした場合、他のマウス操作をするまでずっとその状態がクリックしたままで
プログラム内で保持されている事に気づく。
そこを直したら、ボールの軌跡が直った。
前バージョンのプログラムでは何故問題なかったのか不思議だが、時間も無いのでこのまますすめることにした。
ボールの動きをバグ探しの為にかなり単純化してしまったので、
これを戻す過程でまた別のバグが出るかもしれない。
0330SGGK ◆6pZCoAtaxk
2011/11/07(月) 23:05:47.86ID:Ci/pCY6wやり方はボールからマウスに向かうベクトルをY軸中心で90度回転する行列で回転させて、
そのベクトルを軸にしてボールからマウスに向かうベクトル(大きさは速度と一致させておく)を60度回転させる。
−60度にしてみたら放物線のように動いた。
なので、上記のやり方の中で、Y軸中心で−90度回転させてから、
そのベクトルを軸にして60度回転させるようにして解決。
マウスクリックでボールを動かせるようになったので、やっと選手で蹴れるかどうかというところまで戻った。
0331名前は開発中のものです。
2011/11/08(火) 02:48:47.25ID:x9yT+23z0332SGGK ◆6pZCoAtaxk
2011/11/08(火) 23:40:07.79ID:3rFIMhjpプログラムの方はたぶんその可能性は無さそうな感じです。
プログラムはワールド座標系だけで書いてあり、選手から見た座標系をフィールド基準の座標系に行列一回で変換するような書き方はまだ出来てません。
ジンバルロックとクォータニオンについては難解なので、キーワードとして覚え、プログラムのレベルが上がってきたら挑戦してみたいと思います。
昨日の動作の件は、DXライブラリでの回転の正負方向が分からず、
60度で空中に向かってると思ったら、地中に60度で向かっているようで、
何故かボールが地面で反射せず、地面上を這うような動きになっていたのが原因です。
次の予定はドリブル実装に挑戦!
■ このスレッドは過去ログ倉庫に格納されています