我有这段代码:
Image myImage = new Image(new Texture("data/file.png"));
如何myImage
在屏幕上获得位置?我试过了myImage.getX()
,myImage.getImageX()
两者总是返回 0.0。怎么了?
我相信getX()
and getY()
on anActor
是相对于它们的父容器的,因此您需要将坐标转换为“舞台”坐标,然后从那里转换为“屏幕”坐标。(我认为有一种更简单的方法可以做到这一点,因此可能会有更好的答案)。
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 可能是因为它的相机移动并产生了移动效果,图像可能根本没有移动并在 0.0 的初始位置被移动(我认为这可能是你错过的东西)