如果剑灵角色使用享元模式,人多的时候,就不会爆内存了。。。后面的享元模式不用看了,因为我已经构建出来了
如果剑灵角色使用享元模式,人多的时候,就不会爆内存了。。。后面的享元模式不用看了,因为我已经构建出来了
单一职责原则
开-闭原则
里氏替换原则
依赖倒置原则
接口隔离原则
最少知识原则(迪米特法则)
少用继承多用组合(合成复用)
《设计模式 可复用面向对象软件的基础》
《head First 设计模式(中文版)》
《设计模式与完美游戏开发》
享元模式的另一个好处:可以将测试数值(例如name,atk,atkrange)放在一个类中,方便修改,赋值
高层模块调用低层模块解决问题
不想做UI,太无聊了。我把老师的项目解压,场景三单独打包package,导入我自己的工程,哈哈,又偷懒了。
真心不想做,然后我把我的4个UI脚本,替换成老师的四个UI脚本。。。 。。。
->调用
a->b->c->d
a是最高层的模块
d是最低层的模块
各种类互相调用就是耦合性高
挂载在游戏物体身上就要继承自MonoBehaviour
激动,写了这么多代码,角色终于创建出来了。
写的代码和老师的不太一样,出了几个bug。。。
士兵创建出来时,很有成就感
设计模式的作用:
1、解决同一种类型的问题
2、使用设计模式可以让代码结构更加清晰
面向对象设计中常见的设计原则
1、单一职责
2、开-闭原则
3、里氏替换原则
4、依赖倒置原则
5、接口隔离原则
6、最少知识原则(迪米特法则)
NavMeshAgent: 导航组件,控制移动
AudioSource: 控制声音。
为了降低游戏难度,我建了两个能量消耗策略,easy和normal,normal按照老师的来,easy按照开挂的来,永远不会死的游戏。等出士兵生成策略时,可以出个鬼畜模式,感觉有点好玩。
Visitor
这里我没有采用message方式。我把升级武器、兵营。训练士兵花费的能量显示在按钮上,能量足够时,按钮可以交互,否则不能交互。这样写,代码稍微多了一点,但更直观,更方便交互。
单例模式的一般实现
1.类实例化
2.构造方法私有化
3.公有方法访问
抽象类的抽象方法前也要用abstract声明
面向对象设计中原则:
单一职责原则
开-闭原则
里氏替换原则
依赖倒置原则
接口倒置原则
最少知识原则(迪米特法则)
少用继承多用组合(合成复用)
实现继承的抽象类中的函数记得要用override