- 博客(76)
- 收藏
- 关注
原创 Rider 添加NuGet软件包 (NuGet Package)
如图,在解决方案中选择自己的项目右键,点击管理 NuGet 软件包即可。在搜索栏中搜索自己要使用的软件包安装即可使用。
2023-08-23 18:38:41
2318
原创 程序不包含适合于入口点的静态“Main”方法 一种可能的解决方法
如图,我的一个解决方案中有两个项目,其中MyHRAdministrationAPI作为SchoolHRAdministration的引用。我的解决方法是右键MyHRAdministrationAPI项目,将其输出类型改为类库。
2023-08-17 22:42:40
323
原创 【Unity2D】粒子特效
Unity 的粒子系统是一种非常强大的工具,可以用来创建各种各样的游戏特效,如火焰、烟雾、水流、爆炸等等。如Start Speed=5,Stimulation Speed = 5,则粒子的发射速度变为5*5=25。比如有一个机器人头部加了粒子特效(一个烟雾特效),使用这个可以控制烟雾的位置,使其更加真实。可以使用此组件来控制当粒子特效消失时,粒子特效游戏组件也销毁,释放掉这一部分内存。这个是粒子根据时间的变化,如果不想让粒子随着时间变化,则可将曲线设置为y恒为0。通过设置粒子数量来决定爆炸效果的强度。
2023-07-30 22:21:44
2583
原创 【Unity2D】角色动画的切换
固定更新的时间是0.02s,1秒执行50次,可在Edit--->Project Settings--->Time面板中的Fixed Timestep查看。点击一种动画到另一种动画的线 ,然后点击加号添加Condition 比如机器人从向左走切换到向右走的条件是MoveX(向左的运动参数)大于0。将设置好的动画控制器拖动到角色的Animator中的Controller即配置完成。direction是角色的朝向,我将direction的数值设置为1或-1。画面每渲染一次,就是一帧,每帧的时间是不固定的。
2023-07-29 19:41:05
1882
原创 【Unity2D】Order in Layer 与Layer的区别
Order in Layer 是Unity 图形渲染的顺序,通过设置Order in Layer ,可以设置同层(Layer)的物体出现顺序,可以默认使一种物体出现在另一种物体前方。如下,通过Edit->Project Settings->Physics 2D-> Layer Collison Matrix可以设置不同层的物体是否产生碰撞。Layer是Unity中物体的层级,不同物体可以位于不同层上。通过这个可以设置不同层的物体之间的碰撞等。
2023-07-29 16:24:38
1077
转载 【Unity2D】禁止角色走入水中(瓦片地图碰撞)
1. 在 Hierarchy 中,选择 Tilemap 游戏对象。2. 在 Inspector 中,单击 Add Component 按钮。3. 搜索“Tilemap Collider 2D”,添加该组件此时,Scene 视图中所有瓦片都添加了绿色碰撞体方块现在所有的瓦片都已设置为进行碰撞。4.在 Project 窗口中,找到 Tile 文件夹。选择所有不是水的瓦片。(你可以单击一个瓦片,然后按住 Shift 并单击列表中的最后一个瓦片来全部选中。
2023-07-23 22:49:50
595
原创 【Unity2D】设置一物体默认在其他物体之上不被遮挡
物体默认的Order in Layer 都是0 ,将箱子的Order in Layer修改为-1即可。点击箱子,将其层级设置在机器人的后面。即修改箱子的Order in Layer 在机器人之后。比如我想让机器人显示在箱子的前面。
2023-07-23 22:19:17
909
原创 【Unity2D】相机移动以及设置相机边界
添加相机时,首先需要在unity中添加 Cinemachine 包第一次使用这个包时,需要在Package Manager中搜索并安装安装Camera Mechine包后,添加2D Camera设置跟随对象为Ruby (从Hierarchy中将Ruby拖动到Follow中)同时,由于世界是有边界的,要为相机设置边界通过添加Extension为相机添加Confiner(约束)常用的约束有Composite Collider 2D 或 Polygon Collider 2D。
2023-07-22 21:24:40
2437
原创 【Unity】为角色添加动画
该窗口存在时,点击想要添加动作的对象,即可查看其已有的动作/点击Create New Clip 可以新添加动作(注意添加动作时需要添加到上面提到的对应文件夹中,比如我选择对Robot添加Clip,那么创建时应选择AnimationClips 的Robot 文件夹 )但是你可以看到,例如,如果将 Move Y 设置为 1,则红点将移至正方形的顶部(因为 Y 是垂直位置),然后混合树将选择顶部动画(向上奔跑),因为这是最接近的动画。我现在的Robot有行走的动作,也就是上下左右移动,以及一个被修复后的动画。
2023-07-22 17:54:15
846
原创 【Unity】Unity2022设置2D动画的sample
将Show Sample Rate勾选上即可。首先在主页面选择Animation。点击红点行,最右侧的三个点。
2023-07-11 22:16:03
1052
原创 【Unity】Unity20223.4f1中添加Tile的方法
六角形瓦片通常用于战略类桌面游戏,因为它们的中心与边上的任何点之间具有一致的距离,并且相邻的瓦片总是共享边。因此,这些瓦片非常适合构建几乎任何类型的大型游戏区域,并让玩家做出关于移动和定位的战术决策。等距瓦片地图常用于策略类游戏,因为等距透视图允许模拟 3D 游戏元素,例如不同的海拔和视线。这样可使玩家在游戏过程中做出关于移动和定位的战术决策。等距透视图显示所有三个 X、Y 和 Z 轴,因此可以将伪深度和高度添加到瓦片地图。如图,按顺序选择添加Rectangular(矩形地图)即可,矩形是常规瓦片地图。
2023-07-10 13:48:05
1363
原创 HFUT Data Structure Experiment: SkipList
本设计题目的基本内容是构造并实现Skip List 的ADT,并能对其维护动态数据集合的效率进行一定的实验验证。(2)课程设计目的认识并应用Skip List 数据结构,体会线性表结构的变形形式。(3)基本要求①ADT 中应包括初始化、查找、插入、删除等基本操作。②分析各基本操作的时间复杂性。③针对实现Skip List 上基本操作的动态演示(图形演示)。
2023-06-29 23:01:10
415
3
原创 HFUT Java Experiment:Java Web编程(选做)
1.掌握Java Web服务器Tomcat的安装、配置。2.学会简单的HTML表单设计,表单提交。3.掌握JSP中的request对象、session对象的使用。1.下载安装Tomcat8,对其进行配置。启动Tomcat服务器,在浏览器输入,查看浏览器输出界面;2. 定制配置:(1)修改Tomcat的服务端口为88(默认安装为8080);(2)修改HTTP GET方式的字符编码为UTF-8(默认为ISO-8859-1);
2023-06-01 19:17:36
379
原创 HFUT Java Experiment:基于GUI的网络通信程序设计
1.掌握Java中GUI程序的编写,包括事件监听机制。2.掌握Java的网络通信编程,ServerSocket,Socket类的使用。3.掌握Java中多线程的编程,Thread类,Runnable接口的使用。4.掌握用面向对象的方法分析和解决复杂问题。图1 Socket通信服务器端界面图2 Socket通信客户端界面2.图1为Socket通信服务器端界面,点击该界面中的【Start】按钮,启动服务器监听服务(在图1界面中间的多行文本区域显示“Server starting…”字样)。
2023-06-01 18:54:09
561
原创 HFUT Java Experiment:货物进销管理系统
处理一条定单记录(以'O'开头的事务)意味着从减少库存记录中相应货物的数量(减少的数量=发货单中的数量),记录发货信息到Shipping.txt中。处理一条到货单意味着增加库存中相应货物的数量(增加的数量=到货单中的数量)。9.文件Shipping.txt中的每一行代表给某一客户的发货信息。1.程序首先打开并读取Inventory.txt中记录的所有库存记录,然后读取Transactions.txt,处理这个文件中包含的事务,记录发货记录到Shipping.txt,并记录错误信息到Errors.txt中。
2023-06-01 17:26:14
624
原创 输入整数n,将1-n*(n+1)/2之间的每一个整数按行同时按列依次填充到n阶矩阵中的上三角形和下三角形位置上,构成一个对称矩阵,并以n行n列的形式输出该矩阵
【代码】输入整数n,将1-n*(n+1)/2之间的每一个整数按行同时按列依次填充到n阶矩阵中的上三角形和下三角形位置上,构成一个对称矩阵,并以n行n列的形式输出该矩阵。
2023-03-05 13:30:04
135
原创 学习笔记:文件
File.seekp(3000*sizeof(double),ios::beg)是从开头查找,找到30度对应的文件。取出dVal的首地址,因为&dVal是double类型的指针,所以要强制将其转化为char类型的指针。写ios::out|ios::binary 读ios::in|ios::binary。函数的作用:从文件的当前位置读count字节,存放待buff中。上面的函数是告诉文件当前的位置(想象有一个指针指向当前位置)buff是文件被读取后存放的位置,count是读取的个数。
2023-02-14 12:21:35
452
原创 现有一个 Person 类,成员变量:姓名(string name)和年龄(int age),请给 Person 添加一个拷贝构造函数,让程序能够正确运行。
【代码】现有一个 Person 类,成员变量:姓名(string name)和年龄(int age),请给 Person 添加一个拷贝构造函数,让程序能够正确运行。
2023-02-14 12:16:52
393
原创 编写一个函数 long long factorial(int n),用于计算 n 的阶乘。(要求使用递归实现)
当n>1 时,返回n*(n-1的阶乘),也就是 return n*factorial(n-1);我们定义了这个阶乘函数,那么就可以认定它有算出阶乘的能力。这时候的n就是n*(n-1)*(n-2)......当n=1时,我们已经算完,返回n就可以了。
2022-12-12 22:11:24
914
原创 统计字符串中子串出现的次数
思路是 求出子串的长度,一个字符一个字符地比较子串和原字符串,如果连续比较子串长度个元素,都相同,那么原字符串中就含有该子字符串。不符合,继续,从b开始比较3个字符。从a开始比较三个字符。
2022-12-12 21:21:24
664
原创 编写一个函数 int mystrcmp(const char * src, const char * dst),用于比较两个字符串的大小(自己实现strcmp()函数)。
只要知道两个字符串的长度就可以了。
2022-12-12 19:55:43
349
原创 有一个数组 int arr[n],要求写一个函数:void func(int *p, int n);将数组 arr 中为 0 的元素都移至数组末尾,将非 0 的元素移至开始(保持原来的顺序不变)。
先将不为0的元素放到arr中,其他的都赋值为0。新建一个数组arr,与原有数组大小一致。
2022-12-12 19:38:08
489
原创 计算小球走过的路程和反弹高度
我们都知道,第n次反弹后,反弹高度为h/n(h为最初落下时的高度)题目让求的总距离是第n次落地时的总距离,所以我们不需要加第n次上述距离。注意最后还要再除以2,因为我们求的是第n次反弹后,反弹高度。2*h/n即为每次反弹后到再次落地这个过程经过的距离。循环只除了n-1次,需要再除一次。所以循环次数为n-1。每次反弹后高度除以2。
2022-12-12 15:28:10
574
原创 C++习题3
求余运算符% 位运算(> & | ! ^ 左右移位,与,或,非 ,异或)这些符号的运算对象都是整型unsigned short x=0xffff cout
2022-12-07 21:07:30
725
原创 学习笔记:内存四区
1内存分区模型C++程序在执行I将内存大方向划分为4个区域●代码区:存放函数体的二进制代码,由操作系统进行管理的●全局区:存放全局变量和静态变量以及常量●栈区:由编译器自动分配释放存放函数的参数值局部变量等●堆区:由程序员分配和释放若程序员不释放程序结束时由操作系统回收 不同区域存放不同数据,变成更加灵活1.1程序运行前在程序编译后,生成了exe可执行程序,未执行该程序前分为两个区域代码区:存放CPU执行的机器指令代码区是共享的,共享的目的是对于频繁被执行的程序,只需要
2022-12-01 10:48:16
248
原创 学习笔记:引用
引用的作用是给一个变量起别名格式: type & 别名= 原名引用必须初始化,在初始化后不能改变int &b;b=a;错误int& b = a;b=c;不是将b从a的别名变为c的别名而是将c的值赋给aa的值为20。
2022-11-30 20:07:43
413
原创 C++习题2
int ID;};{exit(1);}int i = 0;i < 2;p = NULL;return 0;}结果是1,0,0a的值不会变inFile.open("s.txt",std::in)以只读的方式打开文件s.txt算法的特征:有穷性、确定性、输入性、输出性、可行性结果是19,也就是16进制的0x13。
2022-11-30 16:50:39
905
原创 学习笔记:动态内存分配
格式为 type *pointer = new int ();......//语句括号中的数据就是初始值,如果不希望设置初始值,可以将括号去掉运用举例需要判断内存是否分配成功,不成功会返回一个空指针于是我们可以通过判断p是否为空指针来判断内存是否分配成功new运算符用于动态内存分配,delete用于释放分配的内存内存分配后一定要释放,否则会造成内存泄漏。
2022-11-26 12:23:53
352
原创 10进制整数转2-36进制(字符串)
如果只需要运行一次,将主函数中k,和while循环删去即可,你能搜索或有兴趣看这篇文章,你一定知道怎么做。如果你有任何问题,或者作者代码有误,请评论或私信作者。如果想搞懂,请认真看注释。
2022-11-25 21:36:46
385
原创 输入一个精度,计算1/(1*1+1)-1/(2*2-1)+1/(3*3+1)+.....
注意观察规律 分子上的数总是与分母中加的数一致,所以我们可以直接设一个数sgn,用其表示分子和分母中加的数。你可以根据 自己的需要自行通过setprecision()设置保留到小数点后几位。,就是加上.f, 这样更严谨,否则有的编译器可能会报错。还有就是要注意,函数中所有数据类型都是float ,设置初始值时最好都写成浮点形式。
2022-11-25 14:51:19
104
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人