美文网首页
Unity/C#一点心得

Unity/C#一点心得

作者: 杰克有茶 | 来源:发表于2020-02-28 14:55 被阅读0次

【状态机】

有限状态机分成两种模型:

①实时型,它永远在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这种庞然大物,多层嵌套下,数据非常容易混乱。

就写这些。

相关文章

网友评论

      本文标题:Unity/C#一点心得

      本文链接:https://www.haomeiwen.com/subject/jzklhhtx.html