[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:00112] Re: PickMouseBehavior について
前田です。
>もし同じであれば、「一定時間内にクリックされた同一座標」を判定して
>回避できるかもしれません。
これをどうのように実装しようかと PickMouseBehavior のソースを
眺めていたところ View 側の PickCanvas オブジェクトを生成する
ことで解決しました。
手順は次のとおりです。
1)PickMouseBehaviorから派生したクラスのコンストラクタで
View側 の PickCanvas を作成する。
public PickSignalBehavior(Canvas3D canvas, BranchGroup root,
BranchGroup view, Bounds bounds){
super(canvas, root, bounds);
pickView = new PickCanvas(canvas, view); //<-これ
this.setSchedulingBounds(bounds);
root.addChild(this);
}
2)updateScene で View 側の Picking を優先する。
public void updateScene(int xpos, int ypos) {
if(!pickCheck(pickView, xpos, ypos)) {
pickCheck(pickCanvas, xpos, ypos);
}
}
# 昨日「Java 3Dプログラミング・バイブル」が届きました。(^^;
# 週末に勉強させていただきます。
--
Makoto Maeda mailto:majin@xxxxxxxxxxxxxxxxxx