3

私はこのコードを持っています:

Image myImage = new Image(new Texture("data/file.png"));

myImage画面上の位置を取得する方法は?試してみましたがmyImage.getX()myImage.getImageX()どちらも常に0.0を返します。どうしたの?

4

2 に答える 2

9

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);
于 2013-02-24T20:53:44.787 に答える
1

ただの推測!!! - 画像を移動して位置を確認しますが、getX() が 0.0 を返すのは、移動して移動効果を生成するカメラが原因である可能性があります。あなたに欠けているもの)

于 2013-06-19T11:05:13.080 に答える