JavaFX:图像在某些时间点出现和消失

时间:2017-06-03 21:09:23

标签: animation javafx

我目前正在尝试为我的学校项目制作类似于osu!的节奏游戏。我希望能够让我的圈子(图像)出现在我选择的某些时间点上。我目前有一个动画计时器设置和随机显示的圆圈:

 new AnimationTimer() {
            public void handle(long currentNanoTime) {
                // Clear the canvas
                Color black = Color.web("#000000", 1.0);
                Color white = Color.web("#FFFFFF", 1.0);
                //bkg
                gc.drawImage(bkg, 0, 0);
                //play feild marker
                gc.setStroke(white);
                gc.strokeRect(200, 22, 877, 683);

                gc.setFill(Color.WHITE);
                String pointsText = "Points: " + points.value;
                gc.fillText(pointsText, 10, 470);
                String comboText = "Combo: " + combo.value;
                gc.fillText(comboText, 340, 470);
                gc.drawImage(circle,//displays the circle
                        targetData.getX() - targetData.getRadius(),
                        targetData.getY() - targetData.getRadius());

            }

我的鼠标事件是这样完成的:

theScene.setOnMouseClicked(
                new EventHandler<MouseEvent>() {
                    public void handle(MouseEvent e) {
                        if (targetData.containsPoint(e.getX(), e.getY())) {
                            //Min + (int)(Math.random() * ((Max - Min) + 1))
                            double x = 275 + (int) (Math.random() * ((1000 - 275) + 1));
                            double y = 100 + (int) (Math.random() * ((625 -100) + 1));
                            targetData.setCenter(x, y);
                            mediaPlayer.play();
                            combo.value++;
                            points.value += 100;
                            mediaPlayer.seek(Duration.ZERO);
                        } else {
                            combo.value = 0;
                        }
                    }
                });

目前圈子只有在点击时才会消失。我试图让我的圈子在我选择的时间自动出现,并在一段时间后消失。我设置了动画计时器,但我没有领先如何开始计时。

0 个答案:

没有答案