每日笔试题练习1

一、值类型和引用类型的区别

  1. 传值调用是将实参的值传递给被调用函数的形参。因此实参既可以是表达式,也可以是变量(或数组元素)。
  2. 传地址调用是将实参的地址传给被调用函数的形参。所以,实参必须有地址。因此实参必须是变量(数组),不能是表达式或常量(因为他们不存在地址)。
  3. 如果采用值调用,相当于复制出一个相同值进行使用,值变化不影响本体
  4. 如果采用引用调用,相当于通过引用地址来使用被调用的本体,修改引用会影响本体

二、字符串切割与拼接

  1. 切割:Split(’’);
  2. 拼接:StringBuilder、+、string.Format、List

三、计算A点(0,0,1)到B点(1,1,1)的方向向量

答:(01,01,1*1)=(0,0,1)

四、点乘与叉乘的区别

首先最明显的区别是点乘的结果是一个标量,叉乘的结果是一个Vector向量,点乘用于求投影和角度,而叉乘用于求方向向量

假设A(a1,b1,c1) B(a2,b2,c2)
点乘:a1a2+b1b2+c1c2
叉乘:(a1
a2,b1b2,c1c2)

五、UGUI中的网格重构,动静分明

UGUI需要进行动静分离。也就是说同一个界面下的UI,可活动的元素放在一个Canvas下,不可活动或较少活动的元素放在另一个Canvas下。虽然两个Canvas打断了合批,但是却减少了网格的重建时间,总体上是有优化的。

究其原因,是因为在同一个Canvas下的某个元素发生变化时,同一Canvas下的所有元素都会进行网格重建(ReBatch)。而静态的元素在逻辑上是不需要重建的,因为他们都没变过,所以需要分开。最常见体现在战斗摇杆UI和角色头像UI动静分离。

UGUI的网格重建分为2部分,一个是ReBatch,一个是ReBuild。

当你的Canvas下的一个元素发生变化了,就会重新绘制当前Canvas下的所有的可绘制元素,不管其是否变化过。重新计算其图片、位置、缩放、文本等等元素。这一部分就是ReBatch。

而Rebuild在ReBatch之后,是每个UI元素自己的操作。比如A元素变了,而B元素没有变,那么A元素就自己改一下自己就好了。至于哪些元素需要Rebuild,则在 Canvas.BuildBatch 里面就计算好了。

六、什么是AssetBundle?作用是什么?

AssetBundle 简称AB包,是一个unity自带的一种资源整合包,处理后的里面包含可以存放游戏资源,AB包可减少每次更新游戏时所需要下载的资源包,不需要重新卸载安装,玩家可以在游戏运行需要这些资源的时候被加载,制作AssetBundle的过程相当于把这些资源打成一个包的过程,这个包可以存放在服务器中通过网络下载进行实时资源替换更新。

AssetBundle自身保存着互相的依赖关系:比如说一个包是保存模型的,另一个包是保存贴图的,因为模型可能依赖于贴图则导致模型的包依赖于贴图的包。AssetBundle自身会保存这个依赖关系。

压缩包可以使用LZMA和LZ4压缩算法,减少包大小,更快的进行网络传输。

注意:使用压缩包是为了方便校验文件的完整性。AB包可以配合Lua实现资源和游戏 逻辑代码的更新

python+opencv简谱识别音频生成系统源码含GUI界面+详细运行教程+数据 一、项目简介 提取简谱中的音乐信息,依据识别到的信息生成midi文件。 Extract music information from musical scores and generate a midi file according to it. 二、项目运行环境 python=3.11.1 第三方库依赖 opencv-python=4.7.0.68 numpy=1.24.1 可以使用命令 pip install -r requirements.txt 来安装所需的第三方库。 三、项目运行步骤 3.1 命令行运行 运行main.py。 输入简谱路径:支持图片或文件夹,相对路径或绝对路径都可以。 输入简谱主音:它通常在第一页的左上角“1=”之后。 输入简谱速度:即每分钟拍数,同在左上角。 选择是否输出程序中间提示信息:请输入Y或N(不区分大小写,下同)。 选择匹配精度:请输入L或M或H,对应低/中/高精度,一般而言输入L即可。 选择使用的线程数:一般与CPU核数相同即可。虽然python的线程不是真正的多线程,但仍能起到加速作用。 估算字符上下间距:这与简谱中符号的密集程度有关,一般来说纵向符号越稀疏,这个值需要设置得越大,范围通常在1.0-2.5。 二值化算法:使用全局阈值则跳过该选项即可,或者也可输入OTSU、采用大津二值化算法。 设置全局阈值:如果上面选择全局阈值则需要手动设置全局阈值,对于.\test.txt中所提样例,使用全局阈值并在后面设置为160即可。 手动调整中间结果:若输入Y/y,则在识别简谱后会暂停代码,并生成一份txt文件,在其中展示识别结果,此时用户可以通过修改这份txt文件来更正识别结果。 如果选择文件夹的话,还可以选择所选文件夹中不需要识别的文件以排除干扰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值