JavaFX onMouseClicked problem z powtarzaniem

0

Witam, właśnie zaczynam zabawę z JavaFX i od razu napotkałem na problem:P
Mianowicie, stworzyłem sobie kwadracik i zdefiniowałem event onMouseClicked, który przesuwa go o 20 jednostek w prawo.
I program działa, naciskam i się przesuwa, ale jak zrobić żeby tak się działo po kazdym kliknięciu, a nie tylko po pierwszym?
Oto mój kod:


package movement;

import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;

/**
 *
 * @author Dess
 */
public class Movement extends Application {
    Rectangle head;
    private double x = 0, y = 0;
    
    @Override
    public void start(Stage primaryStage) {        
        
        StackPane root = new StackPane();
        
        head = new Rectangle(10, 10, Color.BLACK);
        head.setTranslateX(x);
        head.setTranslateY(y);
        
        
        root.getChildren().add(head);
        
        Scene scene = new Scene(root, 300, 300);      
        
        
        scene.setOnMouseClicked(new EventHandler<MouseEvent>() {

            @Override
            public void handle(MouseEvent t) {                
                moveRight();
            }

            private void moveRight() {
                x =+ 20;
                head.setTranslateX(x);
            }
        });    
                
        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

0

Problem jest w poniższej linijce:

x =+ 20;

Zamiast inkrementować zmienną (+=) przypisujesz jej wartość 20.

0

ehh.. taki idiotyczny błąd, dzieki za wyłapanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1