【状态机】
有限状态机分成两种模型:
①实时型,它永远在Update。
②事件型,仅事件发生时才Enter、Execute、Exit
【对象池】
如果实例化对象频率很低,没必要使用对象池。
【组件】
GameObject被sealed了,所以不允许继承,这反而是好事。
可以把GameObject封装到自己的一个类里作为组件。
【深复制】
深复制使用起来十分便利,但实例化频率高、实例的内存大的情况不建议使用。(另:GameObject不允许深复制)
开销排名:深复制 > 实例化 > 对象池(取出赋值)。
视情况自行取舍。
【单例】
一个程序最好最多只设一个单例,否则非常容易混乱。
【继承】
如果一定要使用继承,请继承抽象类或接口。
【初始数据】
假设游戏里有很多Monster类:class Monster {}
建议:
class MonsterBase {}
class Monster_0 : MonsterBase {}
class Monster_1 : MonsterBase {}
MonsterBase monster_0 = new Monster_0();
MonsterBase monster_1 = new Monster_1();
不建议:
Monster monster_0 = new Monster();
Monster monster_1 = new Monster();
因为数据量庞大的情况下——犹其Monster里还有Skill这种庞然大物,多层嵌套下,数据非常容易混乱。
就写这些。
网友评论