私はTilesPane
のレイアウトに追加するImageView
を持っています。私は、(x,y)
の位置から追加する位置までImageView
をアニメートしたいと思います。ノードをレイアウトにアニメーションする
私はこのような何か試してみました:
TilePane tp = new TilePane();
...
ImageView iv = new ImageView(img);
tp.getChildren().add(iv);
TranslateTransition tt = new TranslateTransition(Duration.seconds(5), iv);
tt.setFromX(0);
tt.setFromY(0);
tt.setToX(iv.x);
tt.setToY(iv.y);
tt.play();
をしかし、私はこのエラーを取得する:私はやってみました何error: x has private access in ImageView
:
- は
TilePane
レイアウトに画像を追加します。 - イメージの位置を取得します。
- 指定された
(x,y)
位置から現在の位置に画像をアニメートします。
これが正しい/最良の方法でない場合は、どのような選択肢がありますか?そうであれば、どうすればこのエラーを回避できますか?
HTTPS([関連するコードのすべて]をご提示ください。 // stackoverflow.com/help/mcve)と完全なスタックトレース(もしあれば)があります。あなたはどうやって「イメージの位置を取得するか」とは言わない。 – jewelsea
@jewelseaそれぞれxとyの座標に 'iv.x'と' ix.y'を使います – sudoman
ああ、コンパイルされません。 [レイアウトパスを生成する]必要があります(http://stackoverflow.com/questions/26152642/get-the-height-of-a-node-in-javafx-generate-a-layout-pass)。ノードはlayoutXとlayoutYの値が設定されたときに終了し、次にソース位置とレイアウトの位置の差が負の値に設定されます。ソースの場所の座標系が何であるかは指定しません。シーンの座標とsceneToLocalを使用する場合はおそらく。ちょうどいくつかの考え、多分私はそれを試してみましょう。 – jewelsea