我正在制作Android版主板。我使用.png图像作为棋盘(背景)和棋子。基本上,它是一个游戏,其中图形在触摸事件时更新。这是一项学校作业,所以我必须使用View
实施。对于图形,我考虑了两个选项:
创建一个完整的“BoardView”类(扩展View
)并使用onDraw(canvas)
直接在画布上绘制所有图形组件。
使用ImageView
个对象代表每个检查器块和棋盘并将它们放在Layout
上。
我的直觉告诉我使用第一个方法。但我的想法是,我想在移动检查器时使用预先实现的TranslateAnimation。根据我的理解;这迫使我使用第二个方法,因为我无法为Drawable
设置动画。
现在,问题是:什么方法最适合我?如果第二;哪种布局首选使用?我希望能够在棋盘图像上重叠棋子,并将ImageView
对象的位置相互比较,以确定将棋子放在棋盘上的位置。
答案 0 :(得分:2)
关于你的简单要求,我认为你可以采用方法2。
相信我,多年前我在传统的Linux平台上做过这种事情。对于这些简单的游戏应用程序,你真的不需要打扰所有框架绘图的东西。只需坚持使用现有的UI小部件。
这是因为可见元素都非常简单,如卡片,静态图像,块等。您不需要执行像素绘制。我曾试图制作俄罗斯方块,扫雷和纸牌比赛。我甚至使用现有的动画设施为它创建简单的视觉效果。这很容易做到。
而且,作为一名软件程序员,使用典型的逐帧方法编写游戏更为专业。但这取决于要求。为什么不使用更少的代码来创造更多的价值?