Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元

主界面  bg+button

确定分辨率 为了以后做适配

800*1280

canvas 

screen space overlay

Scale with Screen size

[展开全文]
lilynumber1 · 2019-12-25 · 0

游戏大厂能把小团队给抄死

换皮

一个游戏换十几套UI

UI是最常变幻的东西

 

[展开全文]
lilynumber1 · 2019-12-25 · 0

这个世界上最不缺的就是NB的想法

[展开全文]
lilynumber1 · 2019-12-25 · 0

cubeview需要与model层交互还需要通过一个脚本控制

创建一个cubemediator

在mediator里对view初始化

mediator里需要对OnRegister与OnRemove重写

在context中对mediator进行绑定

mediationBinder.Bind<CubeView>().To<CubeMediator>();

<>内的是类,()中的是枚举

绑定之后当游戏开始框架会自动将mediator挂载到view所在的游戏物体上

mediator中需要获取到cubeView

[Inject]
public CubeView cubeView{get;set}

[Inject]可以自动帮助开发者注入,减少组件之间的交互

当绑定完成的时候,就会调用mediator里的onregister,当游戏物体被移除时调用onremove,前提是mediator的view是在运行的

把cubeView的初始化放在onregister里

public override void OnRegister(){
   cubeView.Init();
}

view只与mediator交互,与之绑定的mediator负责与外界交互

一般情况下,游戏逻辑都是在view层完成,只有当需要储存或读取数据时,才会通过controller层与service和model层交互

[展开全文]
风旅人 · 2019-12-24 · 1

是什么层的就以什么层作为文件名结尾

例如:CubeView

视图层需要继承自view类

不要直接覆盖view类的start和awake方法

我们可以创建一个init()方法来跨过start方法初始化物体

始终记住数据应该存放在model层

[展开全文]
风旅人 · 2019-12-24 · 0

在To<StartCommand>()后追加.Once()表示这个绑定只使用一次,使用之后就解绑

按照MVCS的模式我们还需要创建model、这里创建一个ScoreModel用于存储数据,不需要继承自任何类,并且给数据设置get set方法

跟外界交互需要用到service,创建service需要两步,一步创建接口,第二步是创建实现接口的类,这样以后如果有新的交互需要添加只需要更改接口即可

创建一个service的接口IScoreService,不需要继承自任何类

接口里有接收分数的方法 void RequestScore();//用于向地址请求分数

int OnReceiveScore();//用于储存返回的分数

void UpdateScore();//用于更新分数,更新到服务器端

创建一个实现接口方法的类ScoreService,由于需要实现接口,则需要继承自IScoreService

[展开全文]
风旅人 · 2019-12-24 · 0

目前为止,对此框架完全糊涂,希望后面能听得懂。

[展开全文]
Unity菜民 · 2019-12-24 · 0

Unity 4 到 5 发生的重大改变 

Rigidbody组件的获取

GetComponent<Rigidbody>() 要在Start里获取

 

API 弃用

Application.LoadlLevel("name")

改成:

SceneManager.loadScene("name")

 

黑暗之光 UICamera.hoverObject==null  UIRoot NGUI UGUI

[展开全文]
lilynumber1 · 2019-12-24 · 0

创建一个StartCommand类继承自Command

 

在Demo1Context中的mapB方法里对StartCommand方法进行绑定

CommandBinder.Bind(ContextEvent.START).To<StartCommand>();

这个方法需要写在model、serivce、command、mediator绑定之后,因为需要先绑定后才能启动

在startcommand中需要重写Execute()方法

public override void Execute(){}

在starcommand被调用的时候会默认调用这个重写方法

[展开全文]
风旅人 · 2019-12-22 · 0

讲的真他妈乱。 

[展开全文]
lianga · 2019-12-21 · 0

1.基础知识

2.UI类的实现和关系

3.UI部分渲染规则

4.重建的原理

5.批处理的方式

6.射线的实现

7.填充率

8.UI组件优化点

9.设置上的优化点

10.优化方案实战

[展开全文]
gameboys84 · 2019-12-20 · 0

 Resources.UnloadAsset(item.m_obj); 应该在这样

 

       if (item.m_obj != null)
        {
#if  UNITY_EDITOR 
            Resources.UnloadAsset(item.m_obj);
#endif
            item.m_obj = null;
        }

如果放在下面, 就找不到它的引用了

[展开全文]
勿忘初心01 · 2019-12-20 · 0

1 纹理类型设置成normal map unity会自动转换像素 0-1 到 -1到1

2 UnpackNoraml 解压 法线贴图 直接使用

[展开全文]
阿曼商人 · 2019-12-19 · 0

存在三个问题:

(1)数据处理和数据接收放在一起,数据处理完才去接收数据,会造成数据丢失;

(2)数据处理里面有大量拷贝操作,会严重影响性能,应该把数组看成循环队列(处理复杂一些),或者在剩余空间小于某个数值时,startIndex归零,数据处理每次从缓冲区开头开始循环处理;

(3)数据帧没有固定开头和结尾,仅通过长度判断数据是否接收完整,如果数据长度错位了,所有缓冲区中的数据解析就全错了。

[展开全文]
Unity菜民 · 2019-12-16 · 0

UI和鼠标点击之间的响应

[展开全文]
夜影杀 · 2019-12-11 · 0

映射:

类不可修改Lua数据

接口可以更改Lua中数据

 

[展开全文]
高伟程 · 2019-12-10 · 0