簡體   English   中英

在Libgdx Stage中獲取Image(或actor)的屏幕位置

[英]Get screen position of Image (or actor) in Libgdx Stage

我有這段代碼:

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

如何在屏幕上獲取myImage位置? 我嘗試了myImage.getX()myImage.getImageX()都返回0.0。 怎么了?

我相信Actor上的getX()getY()是相對於它們的父容器的,所以你需要將坐標轉換為“stage”坐標,然后從那里轉換為“screen”坐標。 (我認為有一種更簡單的方法可以做到這一點,因此可能有更好的答案)。

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的初始位置被發現(我想這可能是你缺少的東西)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM