实现继承的抽象类中的函数记得要用override
实现继承的抽象类中的函数记得要用override
18
抽象类的抽象方法前也要用abstract声明
单例模式的一般实现
1.类实例化
2.构造方法私有化
3.公有方法访问
挂载在游戏物体身上就要继承自MonoBehaviour
各种类互相调用就是耦合性高
->调用
a->b->c->d
a是最高层的模块
d是最低层的模块
if (mButtonClicked && mButtonState == ButtonState.None) { mButtonState = ButtonState.Clicked; }
这个在UniRx里的位置写错了吧?
Ctrl+C+V
表现层复用的逻辑可以用在系统层,比如计时系统和成就系统
模型层则负责数据的定义以及提供数据的修改方法
工具层则负责提供基础设施,比如存储方法,网络链接方法,框架集成等等
当上层要改变下层状态时必须要用command,只是简单查询则可以直接方法调用
由于IController没有对应的抽象Controller,所以IBelongToArchitecture的阉割需要在子类中实现
其实可以为项目制作指定的抽象类,但是为了框架的通用性,所以新项目需要自己去对应的类里进行GetArchitecter的阉割
外观模式是上下层交互
中介模式是同一层级互相交换
protected修饰的成员,可以在派生类中使用
渲染流水线三大阶段:
1.应用阶段:Cpu负责(绝对控制权)(1)准备场景数据(2).不可见剔除(3).设置渲染状态
分三步:1.把数据加载到显存中。2.设置渲染状态3.调用Draw Call。
2.几何阶段:
GPU负责。首要任务是把顶点坐标变换到屏幕空间中,再交给光栅器进行处理。
3.光栅化阶段:GPU负责。使用上个阶段传递的数据来产生屏幕上像素并最终渲染出图像
继承接口
Scroll Rect里有Inertia惯性,要取消勾选
学到了,VC编程法!
content宽度=原宽+(n-1)*(单+间)
注意:在Inspector面板里显示中,原宽为0,向右扩展为负数
!!!注意
Scroll View->Viewport->Content的锚点要设置于中间,否则运行完,位置会偏移
设置好Grad Layout Group的参数,子对象的大小就不能改变了