1

我正在开发提供追踪字母功能的 android 游戏应用程序。这是我第一次使用 android 图形。这里我使用 Canvas 作为我的应用程序。我想在画布上显示虚线字母,允许用户在屏幕上追踪字母。为此,我创建了虚线字母的图像并将这些图像设置在背景中。

现在我想在这些虚线字母图像上以特定的(x,y)坐标绘制点。但问题是 android canvas 取决于不同的屏幕尺寸。因此,我必须根据屏幕尺寸缩放这些点(x,y)坐标。我也参考了这个链接,但不清楚。

请帮我解决这个问题。谢谢。

4

1 回答 1

0

首先找到屏幕的高度和宽度。

int width = game.getWindowManager().getDefaultDisplay().getWidth();
int height = game.getWindowManager().getDefaultDisplay().getHeight();

缩放背景以覆盖屏幕

Bitmap background_scaled=Bitmap.createScaledBitmap(background, width, height, true);

转换 (x,y) --> (x_scaled,y_scaled)

int x_scaled=x*((float)width/(float)background.getWidth());
int y_scaled=y*((float)width/(float)background_getHeight());

画点

canvas.drawPoint(x_scaled,y_scaled,new Paint());
于 2013-02-07T11:38:23.520 回答