unity游戏设计模式——命令模式(自学笔记)
来源:互联网 发布:竞价排名点击软件 编辑:程序博客网 时间:2024/06/05 08:07
在这里我要感谢下Bob Nystrom先生,正是他的书为我的学习做了铺垫。
首先我并非科班出身,我是学建筑的。在先天上有缺陷,虽然读了杂七杂八的书,可是并不能对我有实质性的提升。
在工作中看前辈写的代码,我也知道这些设计模式怎么用,但是很难从里到外的探究。
自从看了许多大佬写的博客之后,我茅塞顿开,学到了好多。在这里写写各位大神的指点,我会把游戏编程模式的笔记一直写下去的。
http://gpp.tkchu.me/这是游戏编程模式的网址。
命令模式:
我并不想再去复述大神们的话,下面就是写出我的理解。
命令=命令的发出者(发出什么命令)——命令的接受者(去做什么事),这两个对象之间有个纽带就是“命令”。Nystrom先生定义是:命令是具现化的方法调用。
Nystrom先生和其他大神举的例子都是输入按键的这个例子。
就是在unity中,好多人直接就是为案件绑定事件,比如鼠标左键按下就是发射。实际这并没有什么不好,可是好多用户的体验并不好,因为按键功能已经锁死了。所以命令模式就是在鼠标左键和发射之间设置一个中间层,起一个纽带的作用。
这个纽带可以进行绑定到鼠标左键也可以绑定到鼠标右键上。灵活性可以减低耦合度。
如果理解起来麻烦的话,我就举个例子吧。
A(一家面粉作坊)一直只给b(馒头店)供应面粉。如果b倒闭的话,A的面粉就卖不出去,也会跟着倒闭。现在A要是自己开一家面粉铺子就不一样了,b可以来我铺子买面粉,C也可以来我铺子买面粉。就算B倒闭了,还有D,E……来我这里买面粉。
(比喻有点简陋,要是理解差了,请告知)
当然命令也不可能只有这一部分。写中间层的代码的时候,我们可以把那些命令装入一个集合(栈、或者队列里面吧)。我想这样可以适用那种建造类的技能吧,比如说红警建造解放军、工程师、飞行人,可以把他们的建造命令全都装进一个容器里然后等到CD之后调用。还有一个AI怪物的技能释放
当然会有人说用普通那种就可以啊。当然也没说不可以,只不过这样更加好管理写。当然这样缺点也是有的,加大了类的体积。
- unity游戏设计模式——命令模式(自学笔记)
- 游戏编程设计模式-命令模式Unity示例
- 设计模式学习笔记—命令模式
- Unity设计模式:命令模式
- Unity游戏设计模式(一)命令模式(Command Pattern)
- 设计模式笔记(十九) —— 命令模式
- HeadFirst 设计模式笔记(六)—— 命令模式
- 游戏设计模式--命令模式
- 设计模式--单例模式【自学笔记】
- 设计模式—命令模式(十九)
- 设计模式—命令模式
- 设计模式—命令模式
- 设计模式—命令模式
- 设计模式—命令模式
- 设计模式笔记(五)--命令模式
- 设计模式学习笔记——命令模式
- 设计模式学习笔记——命令模式
- 《Head First 设计模式》学习笔记——命令模式
- 使用font swesome图标
- [转] QWidget 窗口关闭事件
- lombok安装与使用简介
- Dubbo+Zookeeper 一个消费者对多个生产者的配置流程
- github怎么在当前创建的仓库里面新建文件夹
- unity游戏设计模式——命令模式(自学笔记)
- myeclipse异常关闭导致tomcat无法启动如何解决
- Git使用详细教程
- php中按字节截取字符串方法,(汉字占两个字节,字母占一个字节,页面编码必须为utf-8)
- unbound prefix
- JavaScript事件
- JAVA_三大排序_选择冒泡插入
- Bootstrap Table 中文文档(完整翻译版)
- 11月15日云栖精选夜读:分布式服务框架Dubbo疯狂更新!阿里开源要搞大事情?