Unity设计模式之-Unity3d游戏开发设计模式之子类沙盒模式

本文介绍了Unity3d游戏开发中的子类沙盒模式,通过该模式可以降低代码冗余,减少技能类与游戏系统的耦合。文章详细阐述了如何通过基类提供元动作,并在子类中组合实现各种技能。讨论了适用场景和可能的风险,如brittle base class问题,并展示了简单的代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

**

请关注微信公众号获取最新消息

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

如果我们不使用子类沙盒模式,而一个一个写技能的话会有如下缺点:
1. 会产生大量重复代码,造成代码冗余,因为每个技能都有重复的地方,比如说播放声音,播放动画等。使用这种模式之后各个操作方法就像一个一个的组件一样,随意使用,不会有重复。
2. 每一个技能类都会与游戏系统和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iiiCircle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值