[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Java3Djp:00273] 左右の壁への衝突 (Re: 初歩的な質問だとは思い)



えんどうです。 

> 左右の壁にぶつかると、おかしな動きをしてしまいます。
> どうやら、前からぶつかっているのに後ろからぶつかったときの処理が行われるようで、
> (つまり逆の処理になってしまっている)壁をすごい勢いで突き抜けてしまいます^^;

すぐに追試できないので一般的なことしか書けませんが、
左右にも衝突と反発を行うとなると、
今までの姑息な手段ではダメだと思います。

動かす物体の側に進行方向のベクトルを持たせ、
進行方向のベクトルに応じた反発ベクトルを計算させる必要がありそうです。

物体を動かすのはキー操作で行っているようですので、
どの方向キーが押されたかで進行方向ベクトルを判定して、
その進行方向ベクトルと壁の面法線ベクトルとで
反発ベクトルを計算する方法でしょうか。

> setUserDataは、一つの値しかセットできないのでしょうか?

はい。そうです。

複雑な情報をセットしたいなら、
複雑な情報を保持できる新たなクラスを書いて
その型のオブジェクトをセットしてください。