0

我想开发一个 Android 2D 游戏,游戏场上充满了矩形和圆形。矩形和圆形将显示由数字组成的对象,这些对象必须在某个点进行比较。

此外,所有对象(矩形和圆形)都需要可拖动。我想将一个对象拖动到另一个位置,然后将周围的对象值与拖动对象中的值进行比较。

到目前为止,我拥有的是一个抽象基类和两个子类,它们代表矩形和圆形中显示的对象。

此外,基类扩展了 View,因此我可以覆盖两个子类中的每一个的 onDraw 方法。现在我为一个对象绘制一个矩形,为另一个对象绘制一个圆形,此外我绘制包含每个对象编号的文本。

我的问题是,关于开发这样的应用程序,我是否走在正确的道路上,还是有更好的方法?

非常感谢您提前。

4

1 回答 1

0

关于你的阶级层次,我会说你走在正确的道路上。那是假设基类已经实现了拖动机制。此外,您的基类应该定义比较两个对象的方法,以便子类也有它。对象比较的实际逻辑位置取决于算法。您可以让父类比较对象,但这仅在您只需要基类成员和实际对象类型进行比较时才有效。如果您需要特定于不同子类的任何内容,则需要覆盖每个子类中的比较方法。

您还需要一种查找相邻对象的机制。这可以通过对所有游戏对象的列表进行简单的坐标检查(如果您可以自由拖动)来完成,或者使用包含对所有相邻对象的引用的基类来完成,每当拖动一块时(如果它更像是一个拼图游戏)。

但是,我强烈建议将 OpenGL 用于任何复杂的游戏。不幸的是,我只有一个很好的德语教程,但我相信也有很多英文教程可用。

如果您有任何更详细的问题,请告诉我。

于 2013-01-17T09:20:25.213 回答