我有这段代码:
Image myImage = new Image(new Texture("data/file.png"));
如何在屏幕上获得myImage
位置?我尝试myImage.getX()
和myImage.getImageX()
两者都返回0.0。怎么了?
答案 0 :(得分:7)
我认为getX()
上的getY()
和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);
答案 1 :(得分:1)
猜一猜! - 移动图像&检查位置但是getX()返回0.0可能是因为它的移动相机&产生运动效果,图像可能根本无法移动。在最初的0.0位置(我认为这可能是你缺少的东西)