**
请关注微信公众号获取最新消息
**
原文链接:http://blog.youkuaiyun.com/u013108312/article/details/52208635
本篇文章我们来看下Unity3d游戏开发设计模式之子类沙盒模式,下面开始,积累提供所有操作(的实现)来定义子类的行为,用一个最简单的例子来讲解这个模式玩家操纵的英雄也就是这个游戏的主角会有许多技能,我们想定义许多不同的技能,来让玩家使用。
首先我们定义一个skillBase类作为基类,我们所有技能的动作都在这里实现。我们可以从这些基本元动作中组合出各种各样的技能,甚至成百上千种,可以 设计一个doc文档来设计各种技能的操作,及操作顺序。这就是之所以为什么叫子类沙盒的原因,把实现技能的方法作为沙盒,向这个沙盒里加入各种各样的元动 作来组成各种各样的技能。
以传说系列的凤凰天驱为例,如下图(源自世界传说-换装迷宫2),这个技能分为,后移、跳跃、播放动画、前冲、粒子效果、播放动画等等元动作组成的
如果我们不使用子类沙盒模式,而一个一个写技能的话会有如下缺点:
1. 会产生大量重复代码,造成代码冗余,因为每个技能都有重复的地方,比如说播放声音,播放动画等。使用这种模式之后各个操作方法就像一个一个的组件一样,随意使用,不会有重复。
2. 每一个技能类都会与游戏系统和