工作个人理解、记录、导师指导

1、对于开发,要自上而下分析

eg:做一个商店界面,顺序:先分析当前大界面需要的东西,拆分数据、显示(其数据包含不同标签页的List数据)

进而每一个标签的内容,继而分析每个Item的内容(如每个item的price、icon、name等设计成一个数据)

2、要注重资源和代码的分离 ===  动态地去将资源和代码绑定

ps:资源就是资源,代码就是代码(避免直接一个prefab上挂着脚本这种,因为比如只需要复用一个prefab的内容,而不需要复用代码就还得先去移除代码,很麻烦)。比如一个商店界面的shopView类,正确的处理办法是:不继承Mono,比如按下商城入口button之后,去new shopView类,然后在shopView类中,在代码中去加载预设shopPnlPrefab,然后用变量保存下该预设(GameObject或Transform),然后再去用变量的transform去Find下边的按钮啊、文本啊什么的就可以了。

3、要注意一些非必要的情况,尽量不继承MonoBehaviour(如第二条的处理)

4、对象池/资源池(其实本质不是自己有多少,而是别人不用的是多少)

比如:对象池用List1实现的,保存item,然后外部需要资源的时候,也需要保存到一份实例List2。这两个List的和是不变的。

现在,资源池最大容量10,里边现在有10个资源。外部需要3个,那么list1变成7,list2是3了。当我现在又需要5个了,那直接去再get两个就可以了。现在又只需要3个了,那么需要直接覆盖赋值前三个,然后移除List2中的两个,放回List1两个。

5、unity会产生几类不同的程序集,这几类执行顺序不同

Assembly-CSharp-vs.csproj (Assets/Editor外面的, 并且不在(1),(2)中的脚本文件(一般这些脚本就是我们自己写的非编辑器扩展的脚本))

Assembly-CSharp-firstpass-vs.csproj(最先编译, 在Standard Assets,Pro Standard Assets或者 Plugins文件夹中)

Assembly-CSharp-Editor-vs.csproj(在Assets/Editor中的脚本产生一个Assembly-CSharp-Editor-vs.csproj,最后编译)

Assembly-CSharp-Editor-firstpass-vs.csproj(其次编译,存放在各类Editor下的,eg:Plugins/Editor下,Eidtor下)

6、游戏会进行预加载,而内容可以根据json文件动态读取,这些预加载的东西一般是Shader的ab包;一些Common,通用性比较强的东西;或者是经常出现的,不会销毁的东西(比如MainPanel、ChatMainView等)

7、不同平台的ResPath路径:

8、工作中点调用和冒号调用的应用:

点调用:(多为一些Mgr类的方法,类似一个类的静态方法)

冒号调用:(普通方法,类似类的实例的方法)-----在其他地方调用,也是实例化一个类的实例再去冒号调用

9、有时候可以看到,同一个模块下(eg:ShopModule下),在一个类(eg:ShopView)中调用另一个类的静态方法,却不需要类名点调用,直接方法名调用就可以。原因在于:会发现,在该模块下的每一个类中,都有module(“ShopModule”,package.seeall),也就是说这样的话,只要是声明在这个模块下的方法(当然了,得是静态方法),都可以直接方法名调用,而不必须类名点方法名去调用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值