2011-08-04 61 views
0

我正在使用MouseRotate類的java 3d,我正在使用它來旋轉兩個圓柱體。但問題是當我旋轉一個圓柱體時,另一個圓柱體隨之旋轉。有沒有辦法解決這個問題,還是我必須以不同的方式來做?使用Java3D的MouseRotate

謝謝。

+0

不知道代碼很難說清楚。那麼你能不能展示一些代碼? –

+0

crossposted http://www.daniweb.com/software-development/java/threads/375587 – mKorbel

+0

這是我正在處理的代碼。有兩個圓柱體,每個圓柱體都有一個名爲rotationGroup的變換組。我正在使用Incototate來旋轉兩個氣瓶。 MouseRotate myMouseRotate = new MouseRotate(); myMouseRotate.setSchedulingBounds(bounds); myMouseRotate.setFactor(0,0.1); myMouseRotate.setTransformGroup(rotationXform); rotationgroup.addChild(myMouseRotate); – ARAZA

回答

0

短的面貌邁向MouseRotate API後,我想下面的步驟是必須的

  • 創建使用帶的TransformGroup構造MouseRotate的兩個實例。其中一個帶有每個氣缸的變換組
  • 現在您需要通過單擊或按下按鈕(例如按鈕1爲第一個,第二個爲2)來實現對要旋轉的圓柱體的選擇。選擇一個柱面後,應使用相應的MouseRotate,而另一個柱面不使用
+0

這可以做到,但問題是我在帆布上旋轉鼠標的任何位置,圓柱體都會旋轉。有沒有辦法停用它,因爲無論鼠標是否在上面,圓柱體都在旋轉。 – ARAZA

+0

我對Java3D並不熟悉,但如果您可以在兩個柱面之間切換,也應該可以取消選擇這兩個柱面。以最骯髒的方式,你可以創建一個不可見的對象並旋轉它。如果沒有人需要轉換,更好的方法是停用MouseRotate。 – monty