私はこのコードを持っています:
Image myImage = new Image(new Texture("data/file.png"));
myImage
画面上の位置を取得する方法は?試してみましたがmyImage.getX()
、myImage.getImageX()
どちらも常に0.0を返します。どうしたの?
getX()
およびgetY()
on は親コンテナーに対して相対的Actor
であるため、座標を「ステージ」座標に変換し、そこから「画面」座標に変換する必要があります。(これを行う簡単な方法があると思うので、より良い答えがあるかもしれません)。
Image myImage = ...;
Vector2 coords = new Vector2(myImage.getX(), myImage.getY());
myImage.localToStageCoordinates(/*in/out*/coords);
myImage.getStage().stageToScreenCoordinates(/*in/out*/coords);
System.out.println("Image X " +myImage.get()+ " maps to screen " +coords.x);
ただの推測!!! - 画像を移動して位置を確認しますが、getX() が 0.0 を返すのは、移動して移動効果を生成するカメラが原因である可能性があります。あなたに欠けているもの)