C#及Unity周学习总结

迭代器实现及携程原理

力扣刷了7题

执行foreach第一次时先会调用GetEnumerator,每一次循环都会调用MoveNext,它的返回值也决定了循环是否继续,foreach中的i就是Test对象a中的current

语法糖简写,只需继承一个接口就能实现上面的逻辑,在编译代码遇到yield return系统会帮我们将上面复杂写法的方法实现

这个携程函数和上面简单迭代器的实现写法一致,携程就是通过迭代器函数来实现分部处理,而分时则是通过unity中的携程协调器来管理的,当你调用StartCoroutine的方法时就把IEnumerator这个接口传进去了协调器就可以通过这三个成员来实现分时执行

特殊文件夹

1.Resource 需要动态加载的资源可放入,只读

2.StreamingAssets  需要动态加载的初始默认资源可放入,pc端可读写移动只读

3.persistentDataPath  Appliction.persistentDataPath 可读可写,用于游戏中需要动态存储和获取的资源

4.Plugins Editor 插件文件夹

 5.Editor 编辑器相关脚本可放入,不会被打包

6Standard Assets Unity的自带资源都会放在这个文件夹

线程知识点

进程:是程序关于某数据集合的上的一次运行活动,打开一个应用程序即开启了一个进程

线程:操作系统进行运算调度的最小单位,相当与一条执行代码的管道,被包含于进程中

多线程:一个进程中可以开启多个线程,他们之间互不干扰

语法

关闭

unity中的线程记得关闭,否则即使停止运行也会执行里面的逻辑

在c#中和unity中都有一个线程,当执行复杂耗时逻辑时,为了避免卡顿可以开启一个线程

Resources 资源加载

异步加载新开线程防卡顿,以上两种均是等待异步加载后执行的逻辑

场景异步加载

它的两个等待完成后执行的方法和资源异步加载类似

范围检测

射线检测

Camera.main.ScreenPointToRay(Input.mousePosition);

数据持久化

保存在Appliction.dataPersistentPath中,因为它可读可写

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值