在本次教程中,我们将完成Food这个类的设计。这是游戏相当关键的一部分,直接决定了游戏的可扩展性、可玩性。。。

  进入正题:

  先给大家看下Food类的类图:

 Android游戏开发教程:手把手教你写跳跃类游戏(三)

  从图中我们可以看到有多种食物,并且它们具有很多相同的属性和方法。所以我们很容易想到使用继承Food类。

  新的类图就变成这个样子了:

 Android游戏开发教程:手把手教你写跳跃类游戏(三)

  这样当我们为游戏添加新的事物类型时只需要继承Food类并重写draw方法就可以了。(不同的食物,所表现的外观不同,所以需要具体的食物类,自己实现这个方法)

  但是还有一点值得注意:每一个食物都有多种运动方式。如:水平运动,垂直运动,静止。。。如果将这些方式写在具体的事物类里面,首先这个move方法会变得很复杂,里面会有各种分支,判断。。。

  那么如果后期我们对游戏进行升级,比如增加一种新的运动方式,或者删除一种新的运动方式将变得非常繁琐,而且也不利于代码的复用。

  这个时候我们需要采用这样一种设计模式:策略模式。

  我们把move这个方法抽象为一个类MoveBehaviour。

  那么新的类图就是这个样子了:

 Android游戏开发教程:手把手教你写跳跃类游戏(三)

  当我们需要添加新的运动方式时,只需要写一个类继承MoveBehavior,并实现具体的move方法就可以了。

  这样就完成了食物类的设计了。我们这样设计之后,就可以非常灵活的创建新的食物,并为其添加新的运动方式了。。。了不起!!!

  给大家看下项目的结构图:

 Android游戏开发教程:手把手教你写跳跃类游戏(三)

  通过将源码放在对应的package里面更利于游戏的管理。

本文发布:Android开发网
本文地址:http://www.jizhuomi.com/android/game/595.html
2016年7月13日
发布:鸡啄米 分类:Android游戏开发 浏览: 评论:0