如何在不同的屏幕上连接触摸坐标与游戏板

时间:2012-04-11 20:21:58

标签: android coordinates

我正在将我的游戏从WP7移植到Android。我的游戏是一种“彩色线条”游戏。有一个带有单元格的板(它是静态背景图像的一部分),可以放置球。在WP7上,坐标一切都很好:所有WP7设备的分辨率都是800 * 480,我可以轻松定义用户点击的单元格。

但是android存在一些问题:在不同的屏幕上我面临不同的分辨率。我的游戏板有一些图形边框,我不知道每个Android屏幕上的尺寸。

我不知道如何将getTouch事件的坐标连接到电路板上的触摸单元(如上所述,它是分辨率为800 * 480的静态背景图像的一部分)。

另外,我不知道如何找到某个单元格中心的坐标,我想放置球。

1 个答案:

答案 0 :(得分:2)

将事件的坐标缩放到图像。

   DisplayMetrics metrics = new DisplayMetrics();
   getWindowManager().getDefaultDisplay().getMetrics( metrics );
   float x = 800 / metrics.widthPixel * event.getX();
   float y = 480 / metrics.heightPixel * event.getY();