0

私を実行するとき

  @Override
public void updateScene(int x, int y) 

実行されるコードには少し時間がかかり、ユーザーはコードの実行が完了する前に java3D オブジェクトをクリックすることができ、RotationInterpolator が追いつくことができません。これはボタンが更新するものであるため、RotationInterpolator のアルファを変更することはできません。ピックする機能を無効にする方法を探して、試しました

       Thread.currentThread().sleep(s * 1000);

しかし、これによりスレッド全体がスリープ状態になるため、アニメーションが停止し、PickMouseBehavior Java Doc で可能性のあるメソッドを見つけることができません

私が今見ている唯一の解決策は、コード化されたものの長さを選択するユーザーの機能を無効にすることです

@Override
public void updateScene(int x, int y) {
disablePick();
// my code
enablePick();
}

どうもありがとう^_^

4

1 に答える 1

0

解決策は、影響を受ける RotationInterpolator から Alpha をプルすることでした。その前に、次のような If ステートメントを使用してコードを実行できます。

      Alpha al = head.getAlpha();

  if (al.finished())
  {
//code 
  }
于 2009-12-27T13:32:41.640 に答える