我是Android游戏开发的新手我已经阅读过(Dummies安卓游戏......,Sams教...)。 我想现在绘制几个图像(图块)来创建我的地图,但我也希望它们尽可能好地自动缩放到设备屏幕。目前我只知道如何使用文件夹drawable中的图像,但它们没有缩放到屏幕上......
我已经看到一些例子,他们使用xml文件来获取R.id上的图像....但为此我必须在代码中使用xml作为布局而不能使用这样的东西或?
//create the view object
view = new SurfaceView(this);
setContentView(view);
view.setOnTouchListener(this);
我有点困惑...... :(
其他游戏程序员如何将他们的图像缩放到不同的设备屏幕?
我会非常感谢一些例子!!!
答案 0 :(得分:2)
你可以让android自动为你缩放图像,当然,质量可能不会像你想要的那样,但是你的工作就不那么重要了。如果您想要更多地控制图像的缩放,唯一的选择是手动创建它们并将它们放在各自的文件夹中,包括默认文件夹(不带子插件的可绘制文件夹),drawble-mdpi
用于中等Dot-Per-英寸设备,如320x480屏幕等设备。
drawable-hdpi
是具有高密度屏幕尺寸的设备的可绘制文件夹,例如480x800或480x854,具体取决于屏幕尺寸。我将给你一个阈值,用来判断它是mdpi还是hdpi等等
1.mdpi:160dpi(dpi = Dot Per Inch,与dp或dip不同,它代表与密度无关的像素)
hdpi:240dpi
xhpdi:320dpi = 2倍mdpi,这包括像galaxy s4这样的设备,屏幕分辨率为1080x1900,具体取决于屏幕尺寸,你可以了解xhdpi的大小。
您应该记住的一条规则是,您应该为xhdpi设备创建图像并相应缩小,而不是相反。
对于R.id ..," R"之后的部分。被称为您要引用的资源类型,如果它是您放置R.id的id,可绘制使用R.drawable,就像在setContentView()
方法中一样,您有R.layout,因为您正在引用布局资源。我希望这对你有所帮助
答案 1 :(得分:1)
对于drawable使用xml
时,这些文件位于drawable/
文件夹而不是layout/
文件夹。
要使用它们,请拨打R.drawable.name_of_your_drawable
而不是R.id....
或R.layout....
。
避免在较大屏幕中模糊的另一种方法是为不同的屏幕提供不同的资源dpis这个选项你必须将你的drawables放到
drawable-mdpi/
drawable-hdpi/
drawable-xhdpi/
注意: 当您使用多个文件夹时,每个可绘制文件必须在所有文件夹中都有确切的名称,系统会决定选择哪个文件夹。