1

我已经为 android 制作了几个应用程序,但没有一个应用程序如此多地使用图形。我现在正在尝试制作一个真正的游戏。我的画布上有一些位图。我的问题是我不确定在哪里初始化他们的位置。在 OnTouch 事件中,我想确保位图不会偏离屏幕。例如,初始化一个位图:

canvas.drawBitmap(glider.getGraphic(), 30, 20, null);

20 和 30 是任意的。但我希望能够编写类似 screen.getWidth() 的东西,这样我就可以确切地知道位图相对于屏幕边框的位置。我在开发人员参考中找不到这个。

4

1 回答 1

2

如果您只是想获得屏幕尺寸,请查看DisplayMetrics课程。您可以获得一个实例和测量值,如下所示:

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int screenHeight = metrics.heightPixels;
int screenWidth = metrics.widthPixels;

请记住,这是绝对屏幕尺寸。如果你在做全屏游戏,这会很好,但如果不是,你必须记住通知栏的大小,可能还有标题栏。在这种情况下,最好只获取 SurfaceView 本身的高度并将其用于计算。

于 2011-01-07T15:53:46.873 回答