说我想做一个记忆/配对游戏。我目前制作了一个适用于Canvas的草稿,并将卡片绘制成网格。
这适用于我当前的基本版本,但我想要显示动画(当卡片转动时,它会翻转并缩放到更大的尺寸;或者当找到匹配时,卡片会旋转并且然后回去。 我无法想象在Canvas上做这个,我必须制作很多计时器并手动制作动画,这个简单的任务似乎过于复杂。
我想我可以将View子类化为可以显示卡片的控件,然后对该控件的触摸事件作出反应。它还可以对Android本身完成的图像进行绘制缩放,最重要的是,我可以使用Tween Animation来实现某些效果。
我的问题是 - 在游戏中为每张卡使用View是否可以(我可以使用5x6或4x5卡),并将它们安排在GridView?这种方法有一些陷阱吗?或者我应该继续使用完全自定义绘制的Canvas?
答案 0 :(得分:1)
对于这样一个简单的游戏,你可以使用一组视图。正如您提到的那样,使用Views而不是尝试手动执行,您可以免费访问许多不错的Animation功能。
它还使得实现用户界面变得更加简单,因为您可以将onClickListeners添加到每个视图以捕获用户触摸。如果你手动将它全部绘制到Canvas,那么你必须自己解释触摸并决定触摸哪张卡等。虽然这不是太难,但我认为继承View是一个更好的模型,很有可能结果更清晰。
因为你只有30张牌,所以我无法想象你有性能问题 - 如果你想的是100+,那么也许你有问题,但我认为你很好。此外,如果我正确理解你的游戏,你的大多数卡片大部分时间都不会动画,这是另一个不用担心的理由 - 如果你遇到动画的性能问题,你可以轻松地保存所有非动画在动画期间观看位图(画布)。