我正在尝试为Android开发游戏。我目前将所有艺术资产都加载到了drawables文件夹中,但是我的问题是我如何实际引用一个特定的资源来进行渲染?

我知道每个文件都有一个唯一的@id,我可能必须在onDraw(canvas)方法的@override中实现。所以问题是我如何实际在屏幕上显示图像?

我浏览了六本不错的书,所有谈论的都是从网络上获取图像,或者使用绘画功能手动绘制图像,但是我准备将资产放到.bmp中,而且它们足够复杂,可以编码手工绘制的油漆将是一个很大的偏头痛。

我希望查看的方向(特定书籍,教程,博客,开放源代码[假设有质量注释])我仍在学习Java作为第二种编程语言,因此我不打算直接将伪代码转换为Java然而。

[在编辑中添加]
在每一帧使用Paint()进行绘制时,是否会产生较低的开销,然后呈现位图,并且仅在更改时更改显示?

最佳答案

对于2Dgames,我建议您使用SurfaceView

将图像加载为位图,然后让画布绘制该位图。

动画图像有两种可能的方法:


您可以扩大视野
创建一个循环线程以调用draw函数


Here's some good starting tutorial about displaying image in Android, especially for games

10-08 14:57