美文网首页
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