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

[Java3Djp:00272] RE: 初歩的な質問だとは思いますが…



こんにちは。

結局動かす物体(船)を前後2つに分けて定義してみました。
これでうまくいくだろう、と思ったのですが…。

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

どうしたものか困ったので、Behaviorに左右の壁にぶつかったということを伝えて、正面と後ろの壁の処理とは逆の処理をしてやろうと思ったのですが…。
setUserDataは、一つの値しかセットできないのでしょうか?
親のTGをセットしておくために使ってありますが、複数の値はセットできないのでしょうか?

また、上下左右の壁以外に、中心に島のようなもの(=castlebase)があります。これにぶつかると、例外エラーが出てしまいます。
    TransformGroup castlebaseTrans = new
TransformGroup(castlebasePosition);
	castlebaseTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
	castlebaseTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
	trans.addChild(castlebaseTrans);//castlebaseを物体側のtreeに追加

    CastleBase castlebase = new CastleBase(this);
    castlebase.setPickable(false);
	castlebaseTrans.setCapability(TransformGroup.ALLOW_BOUNDS_READ);
	castlebase.setUserData(castlebaseTrans);
	castlebaseTrans.addChild(castlebase);

setCapabilityを一応しているつもりなのですが…間違いを指摘していただけると嬉しいです。

何度も申し訳ありませんが、アドバイスをいただけると嬉しいです。よろしくお願いします。

**********************************************************
★CD、DVD買うなら安心・お得な【J-WAVE CD ONLINE】で!
全品8%~15%ポイント還元! http://www.j-wave.co.jp/cd/
★特典満載【J-WAVE PASS】申込みはhttp://www.j-wave.co.jp/pass/
**********************************************************