2014-12-31 2 views
2

У меня вопрос, можно ли сделать анимацию в JavaFX на малиновой пи? Я использую этот код:JavaFX анимация на малине pi

public class PhotoRotateTransition 
{ 
private ImageView imageView; 

public PhotoRotateTransition(ImageView imageView, Image img){ 
    this.imageView = imageView; 
    this.changeImage(img); 
} 

private void changeImage(Image img){ 
    this.imageView.setRotate(0); 
    RotateTransition rotate1 = this.rotate1(); 
    rotate1.play(); 
    rotate1.setOnFinished(new EventHandler<ActionEvent>() 
    { 
     @Override 
     public void handle(ActionEvent event) 
     { 
      imageView.setRotate(270); 
      imageView.setImage(img); 
      RotateTransition rotate2 = rotate2(); 
      rotate2.play(); 
     } 
    }); 
} 

private RotateTransition rotate1(){ 

    RotateTransition rotateTransition = new RotateTransition(Duration.millis(500), this.imageView); 
    rotateTransition.setAxis(Rotate.Y_AXIS); 
    rotateTransition.setToAngle(90); 
    rotateTransition.setInterpolator(Interpolator.LINEAR); 
    rotateTransition.setCycleCount(1); 
    return rotateTransition; 
} 

private RotateTransition rotate2(){ 
    RotateTransition rotateTransition2 = new RotateTransition(Duration.millis(500), this.imageView); 
    rotateTransition2.setAxis(Rotate.Y_AXIS); 
    rotateTransition2.setToAngle(360); 
    rotateTransition2.setInterpolator(Interpolator.LINEAR); 
    rotateTransition2.setCycleCount(1); 
    return rotateTransition2; 
} 
} 

Этот код работает на моем Mac, но изображение на Raspberry Pi просто меняется без перехода. Может кто-нибудь мне помочь? спасибо.

ответ

1

Анимация действительно работает в малине Pi, конечно.

Проблема с вашей анимацией - это использование вращения по оси Y изображения, что означает, что она вращается «вне» экрана. И для этого вам нужны возможности 3D-рендеринга ...

На малине Pi и других встроенных устройствах 3D является экспериментальной функцией в JavaFX.

Чтобы заставить работать эту функцию вам просто необходимо включить 3D с помощью этой опции командной строки:

-Dcom.sun.javafx.experimental.embedded.3d=true 

И тогда ваша анимация будет работать.

+0

спасибо! –

Смежные вопросы