Boa noite,
Estou a fazer o Snake em JavaFx, mas estou a ter problemas com o movimento da cobra.
tenho o seguinte code para um circulo fazer um movimento constante até que o utilizador carregue novamente numa seta
scene.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent event) {
if (anim != null) {
anim.stop();
}
switch (event.getCode()) {
case UP:
anim = TranslateTransitionBuilder.create()
.node(circle)
.fromY(dy)
.toY(0)
.duration(TRANSLATE_DURATION1)
.byY(dy)
.build();
break;
case RIGHT:
anim = TranslateTransitionBuilder.create()
.node(circle)
.fromX(dx)
.toX(600)
.duration(TRANSLATE_DURATION1)
.byX(dx)
.build();
break;
case DOWN:
anim = TranslateTransitionBuilder.create()
.node(circle)
.fromY(dy)
.toY(600)
.duration(TRANSLATE_DURATION1)
.byY(dy)
.build();
break;
case LEFT:
anim = TranslateTransitionBuilder.create()
.node(circle)
.fromX(dx)
.toX(0)
.byX(dx)
.duration(TRANSLATE_DURATION1)
.build();
break;
}
anim.play();
dx = circle.getCenterX();
dy = circle.getCenterY();
}
});
Mas não funciona lá muito bem pois não guarda as ultimas coordenadas do circulo.
Acredito que não seja a melhor maneira para fazer, será que alguém pode dar-me uma ajudinha
Ab