我正在开发提供追踪字母功能的 android 游戏应用程序。这是我第一次使用 android 图形。这里我使用 Canvas 作为我的应用程序。我想在画布上显示虚线字母,允许用户在屏幕上追踪字母。为此,我创建了虚线字母的图像并将这些图像设置在背景中。
现在我想在这些虚线字母图像上以特定的(x,y)坐标绘制点。但问题是 android canvas 取决于不同的屏幕尺寸。因此,我必须根据屏幕尺寸缩放这些点(x,y)坐标。我也参考了这个链接,但不清楚。
请帮我解决这个问题。谢谢。
我正在开发提供追踪字母功能的 android 游戏应用程序。这是我第一次使用 android 图形。这里我使用 Canvas 作为我的应用程序。我想在画布上显示虚线字母,允许用户在屏幕上追踪字母。为此,我创建了虚线字母的图像并将这些图像设置在背景中。
现在我想在这些虚线字母图像上以特定的(x,y)坐标绘制点。但问题是 android canvas 取决于不同的屏幕尺寸。因此,我必须根据屏幕尺寸缩放这些点(x,y)坐标。我也参考了这个链接,但不清楚。
请帮我解决这个问题。谢谢。
首先找到屏幕的高度和宽度。
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());