[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Java3Djp:01084] [Q] マウスで複数のオブジェクトを別々に動かす方法
★★ キレイな名刺がすぐほしい! → → → 当店にお任せ下さい!
↓
━ フルカラー名刺屋さん ━━━━ http://www.netcraft.co.jp/ ━━━━
カードクラフト ▲ Click ! ▲
● 速い!● ご注文の翌営業日に出荷致します。 * Adobe Illustrator *
● 安い!● 80枚1500円(税別)送料無料。 * 持込印刷 サービス *
● 綺麗!● 高品質なフルカラー名刺です。 * 好評続行中! *
*********************************************************************
タナカ@商船大です。
複数の3Dモデルをマウスでのpickingで個別に動かしたいと考え、
com.sun.j3d.utils.behaviors.picking.*
を使ってみたのですが、動かすことができず、
Java3DjpMLのアーカイブの中の、
[Java3Djp:00153] Re: マウスの座標
From: ENDO Yasuyuki <eyasuyuki@xxxxxxxxxx>
の記事を参考にして、以下のような構成でプログラムを
組んでみました。
model1.java、model2.javaの単体では、マウスドラッグ
の動きを反映させられるのですが、それをBranchGroup
で1つに構成しようとすると、
Exception in thread "main" javax.media.j3d.RestrictedAccessException: Cannot mod
ify capability bits on a live or compiled object
という例外が出て、実行することができません。
問題は、model1.javaとmodel2.javaのなかで、マウスの
位置をモデルに反映させるためstatic変数とstatic関数
を使っているからだと思うのですが、今の私にはこの方
法以外で動きを反映させる方法がわかりません。
どなたか、アドバイスがいただければ幸いです。
プログラムの構成は、
-----------------
| wholeModel.java | 下のmodel1とmodel2を1つの
----------------- BranchGroupに配置する。
| |
------------ ------------
| model1.java| | model2.java| 3Dモデルをロードし、マウスドラッグ
------------ ------------ によって回転や移動をさせる。
modelN.java (N = 1,2)の大まかな構造
--------------------------------
| class modelN |
| objectLoad |
| static angle <----------------|---------
| static Rotation(double angle) | |
-------------------------------- |
| |
--------------- |
| angle = 20.0; | |
--------------- |
| |
-------------------------- |
| class MouseMotionAdopter | |
| Rotation()を呼ぶ |---------------
--------------------------
どうかよろしくお願いします。
----
Kensuke Tanaka ktanaka@xxxxxxxxxx