- 博客(6)
- 收藏
- 关注
原创 Unity面试(整合)
封装:将一些复杂的逻辑包装之后给别人使用,别人不需要理解里面如何实现的,只要调用方法传递参数就可以获取到想要的结果。他是一种编程范式,把程序设计看做是各个对象之间的交互,让它们负责各自的任务,从而实现模块化、可维护和可拓展的任务系统。引用类型存储在堆内存中: string,object,class,interface,delegate,array。值类型存储在栈中: bool,char,sturct,enum,float,int。委托是个类,内部维护一个字段,指向一个方法。重载在同类中,重写在父子类中。
2024-02-21 17:22:40
524
原创 (菜鸟的笔记) 值类型和引用类型和装拆箱
byte,char,double,float,int,long,sbyte,short,uint,ulong,ushort,bool,struct,enum等。发现Struct a和b 并不是一个Struct ,当b.X被我们Set时,a.X的值并没有改变。当一个函数中的静态数据无用时,对应的堆栈内的数据不会删除而是向下移动了堆栈指针向下移动了32位。堆栈中的指针或引用用来指向堆内存的一块数据 堆内存中存储的值是本身实际的数据。发现class a.X的值因b.X的值改变也发生了改变。
2023-10-30 11:52:20
57
原创 (菜鸟的笔记) 面向对象
这一系列的事情都是由自己亲自实现的如果出现一点纰漏就可能出现任务的失败,一个功能由多个小模块多个对象构成,那么就可以根据需要修改替换局部的模块,比如这个外卖小哥受伤了,我们就可以换一位外卖小哥,这样我们的目标不会卡在某一过程,这就极大的提高了整体的灵活性,整个系统也更加稳固,所以这每一个模块就可以称之为一个对象,多个模块互相协作就完成了一个整体的内容。拓展是人为的可控的。是指同一个方法的调用因对象不同从而产生不同的行为 我们都需要休息,我休息的方法是打游戏,你休息的方法可能是看书,其他人可能是睡觉等。
2023-10-30 10:05:21
63
原创 (菜鸟的笔记)Unity 进程、线程、协程
在Unity的生命周期中,有很多步骤都涉及到协程,我们可以通过协程来实现在生命周期的不同步骤下执行任务,协程是依赖于迭代器原理执行的,其本身并不能加快程序运行速度,但其功能却能实现前后台的异步、定时操作任务等,且其代码规格从Update中布偶理出来,即简化了Update,又增加了功能代码的可读性。大型游戏甚至可以做一套协程管理器来实现功能的管理,以及代码的审核,让代码更具有可维护性。注意:启动一个协程会消耗少量的内存,在方法调用时却不会有后续消耗。
2023-10-28 08:56:49
657
1
原创 (菜鸟的笔记)状态同步原理
a.我们所有的游戏逻辑的计算都是放到服务器上的,以服务器为准;b.客户端负责上传玩家的操作以播放“动画”来展示出来服务器上最新的状态的效果;c.当服务器验证完客户端的操作是否合法后产生计算变化d.如果有变化,服务端就会广播这个变化状态,给对这个变化感兴趣的玩家("AOI玩家,周围玩家")e.客户端就根据状态的变化,展示内容出来。
2023-10-09 14:43:45
122
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人