[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