私はゲームを作っています。 私はすべての私の形を保持する配列を作成します。 形状を0.1秒ごとに小さくする必要があります。 同時に私はマウスの後ろに円があります。 私はいつも私のマウスの後に円を動かすことができる必要がありますが、私は他の円を少しずつ動かす方法を見つけませんでした。 他のサークルを移動しようとすると、javaFXウィンドウがロードされる前にすべての瞬間に移動します。どのように私は0.1秒ごとに実行され、配列を渡すことができるexcecutableを作成するのですか
これは私がアイブ氏は
final ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor();
executorService.scheduleAtFixedRate(Timingobjects::myTask, 0, 1, TimeUnit.SECONDS);
}// program name, function, wait before start, time before each loop
private static void myTask() {
System.out.println("Running");
}
を使用しようとしましたが、私が見つけたサークルを作成して、私の形状配列
ArrayList<Shape> Objects = new ArrayList<Shape>();
Circle I = ClassObjects.getCircle(randomWidth,randomX,randomY);
Objects.add(I);
に追加私のアレイ
ですこれは実行可能なエグゼキュータサービスなので、retはありませんurnの値が渡される可能性があり、配列を渡すこともできません。
Iveは呼び出し可能なExecutorサービスを見ようとしましたが、コード化する方法を理解できません。
誰かが0.1秒ごとに実行される実行可能ファイルの例を私に与えて、シェイプ配列リストを渡して変更してから戻すことができる場合は、
私は非常に感謝します。
あなたがこれを行うにはJavaFXのアニメーションを作成する必要があります。 UIスレッド以外のスレッドからUI要素を直接変更することはできず、アニメーションのタスクをスケジュールしようとするとオーバーヘッドが大きくなり、スムーズに実行するのに十分な確定性が得られません。 – erickson