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

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

  进入正题:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-上面就是Android游戏开发教程:手把手教你写跳跃类游戏(三)分享全部内容. 如果需要了解更多android开发及android游戏开发内容关注<猴子技术宅>

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/makeofgames/andiordkaifa/504979.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注