我之前有一个简单的2D益智游戏,我创建了它的扩展视图,一切都很好,除非我在较小的设备上测试它。我的一半游戏没有出现在设备上,有人告诉我使用表面视图,我也尝试了,但没有用,谁能告诉我问题是什么,我放置了各种图形对象,就像这样
bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ring);
canvas.drawBitmap(bitmap, 45, 250, paint);
canvas.drawBitmap(bitmap, 135, 250, paint);
canvas.drawBitmap(bitmap, 225, 250, paint);
例如,我使用了静态值,这是不是正确的方法,或者我做错了什么?
发布于 2011-01-14 00:55:40
获取屏幕的高度和宽度:
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int screenHeight = dm.heightPixels;
int screenWidth = dm.widthPixels;
然后使用这些值对所有内容进行缩放。您可能需要指定位图的所有顶点,以便正确缩放。
发布于 2011-01-13 21:29:00
如果你假设屏幕尺寸为320x480,那么你应该在你的清单中设置<supports-screens android:anyDensity="false">
。它缺省为true...将其设置为false意味着Android将负责将图形输出缩放到实际屏幕。
当然,这种自动缩小比例可能看起来并不完美。理想情况下,您不应该假设屏幕大小。
发布于 2011-01-27 17:28:38
你可以使用像AndEngine或Badlogic Games这样的游戏引擎,所以你根本不需要关心这样的事情。
https://stackoverflow.com/questions/4680489
复制相似问题