图像(或演员)的屏幕位置我有这样一段代码:获取Libgdx阶段
Image myImage = new Image(new Texture("data/file.png"));
如何让一个屏幕上myImage
位置?我试过myImage.getX()
和myImage.getImageX()
都总是返回0.0。怎么了?
图像(或演员)的屏幕位置我有这样一段代码:获取Libgdx阶段
Image myImage = new Image(new Texture("data/file.png"));
如何让一个屏幕上myImage
位置?我试过myImage.getX()
和myImage.getImageX()
都总是返回0.0。怎么了?
我相信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);
有必要创建零坐标的Vector2(Vector2 coords = new Vector2(0,0);) – 2016-12-09 12:16:29
只是一个猜测! - 移动图像&检查位置,但getX()返回0.0可能是因为它的移动&产生运动效果的摄像头,图像可能根本没有被移动在0.0的初始位置的tsayed(我想这可能是你缺少的东西)
getX()应该做的工作..你试图移动它并检查? – idanakav 2013-02-24 15:00:05