![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c#学习
oyqho
这个作者很懒,什么都没留下…
展开
-
C#学习笔记——访问修饰符
介绍:public是不限制对该类或者该字段或者该方法的访问;private则是表明私有;protected与继承有关,在类内权限与private相当,但是可以在继承的子类中被子类使用;internal则是可以让同一程序集的任何代码都可以访问(程序集:包括生成的exe可执行文件和dll库文件);介绍:访问修饰符是类封装的重要概念,可以让类更具安全性,对于封装而言具有重大意义,常见的访问修饰符有:public、private、protected、internal、protected internal。原创 2023-03-12 23:10:57 · 258 阅读 · 0 评论 -
C#学习笔记——属性
比如说,不想让别人在类外修改属性的话,就可以把set的访问修饰符变为private,如果不想让别人读取的话,就可以把get的访问修饰符变为private,而默认情况下,get和set的访问修饰符和属性的访问修饰符一样。除此之外,get和set前面还可以添加访问修饰符,不过这个访问修饰符不能大于属性前面的访问修饰符,比如现在属性ID前面的修饰符是public,那么get和set前面的访问修饰符的访问权限就不能超过public,那加这个访问修饰符有什么用呢?在如下的代码中,就展示了get和set的全貌,其。原创 2023-03-12 22:36:47 · 69 阅读 · 0 评论 -
C#学习笔记——可变长参数params
介绍:可以想象一下,如果我们需要往方法里传入成百上千个参数的时候,该怎么办呢?面对这个问题,使用可变长参数params就是一个很好的解决方案。params的用法很简单,在这里就不过多赘述了,直接贴一段程序进行理解就ok了。原创 2023-03-12 21:53:35 · 175 阅读 · 0 评论 -
C#笔记——ref和out的区别
介绍:C语言中有指针,可以通过指针使得函数不仅有返回值,还能够返回修改过后的参数,而C#也可以做到这一点,就是依靠ref和out这两个关键字。区别2:在方法内部,ref修饰的变量可以任意使用,而out修饰的变量却需要赋值才可以。(注意:即使out修饰的关键字在方法外面已经进行过初始化了,但是在方法内部仍然需要进行赋值,否则就会报错)区别:ref和out都可以返回改变后的参数,两者在使用上还是有一定区别的。区别1:当使用ref关键字时,其关键字需要先进行初始化,而out则不用。以下用实例来说明两者的区别。原创 2023-03-12 21:39:59 · 326 阅读 · 0 评论 -
游戏编程13_子弹跟随人物移动的bug
但是,必须要把【子弹生成的父节点】和【子弹初始位置的节点】分开来,把【子弹初始位置的节点】放在人物节点下,然后【子弹生成的父节点】放在根目录下,这样就不会报错了。而我之所以报错,就是因为我把【子弹生成的父节点】和【子弹初始未知的节点】都设置为了同一个节点。当我移动人物,不断发射子弹时,发射出去的子弹仍然会跟随人物一起移动。bug太坑了,有时间再摸索是什么原因造成的。目前还不知道是什么原因造成这个bug。原创 2023-01-09 16:47:14 · 83 阅读 · 0 评论 -
游戏编程12_定时调用
通过使用Invoke()方法或者是InvokeRepeating()方法,就可以在一定时间后再次调用程序。而InvokeRepeating()方法可以设置在多少秒后不断的调用函数。比如用定时器做一起小球弹射又落下又弹起又落下这样…Invoke()方法可以设置在多少秒之后调用一次函数。原创 2023-01-08 00:04:41 · 92 阅读 · 0 评论 -
游戏编程11_键盘
如下是一段控制小车移动及转向的代码,当在game窗口按下w时,小车将会向前移动;当按下s时,小车会向后移动;当按下a时,小车就会向左转弯;当按下d时,小车会向右转弯。我测试了一下,发现可以同时按两个键,比如我同时按w键和a键,小车就会进行左转弯移动。如果我同时按下w和s,那么小车就会停在原地不动。检测键盘按下与否和鼠标类似。原创 2023-01-06 18:44:23 · 90 阅读 · 0 评论 -
游戏编程10_鼠标点击
可以看到,这种逻辑主要是依靠k来实现的,本来我是想用if来判断k的值是不是偶数的,如果是偶数那么就不执行旋转代码,但是用if感觉会拖慢代码的运算速度快,所以直接将k%2用到了求r上,可以看到,如果k%2==0,那么r也会等于0,这相当于是变相的实现了原本需要if才能实现的功能。下面的代码,实现了通过点击来控制物体的旋转。比如说,用鼠标在game窗口左击一下,绑定代码的物体就会进行旋转,再左击一下,物体就会停止旋转,再左击一下,物体就会继续旋转……()内可以填0,1,2。原创 2023-01-06 17:37:44 · 181 阅读 · 0 评论 -
游戏编程9_物体相对旋转
Rotate内设置Space.Self就是自身旋转(通常情况下都是设置为自身旋转),如果想要设置为世界坐标轴旋转的话就要改成Space.Self。与物体相对移动一样,物体旋转也有相对旋转,其一是自身旋转,其二是世界坐标轴旋转。可以用一个api简单的实现这个功能——Rotate。原创 2023-01-05 19:15:53 · 70 阅读 · 0 评论 -
游戏编程8_物体旋转
然后再设置一个角速度w,用角速度和Time.deltaTime计算转动的角度,然后以y轴为轴心进行匀速旋转。也就是下面的localEulerAngles获取本物体的三个角。由于用Rotation旋转比较麻烦,所以使用欧拉角。原创 2023-01-05 18:57:51 · 59 阅读 · 0 评论 -
游戏编程7_物体朝着另一个物体移动
在update中,就可以不断的移动本物体,并且判断本物体和flag物体的距离,若距离大于0.2,则继续移动本物体,若距离小于等于0.2,那么则停止移动。在初始化中,可以用GameObject.Find找到flag物体。然后用LookAt可以使得本物品的z轴方向朝向flag物体。原创 2023-01-05 18:30:25 · 207 阅读 · 0 评论 -
游戏编程6_物体相对运动
使用transform.Translate()可以直接对物体进行移动,而且其中还可以设置Space.Self参数,这就是相对于物体自身来运动,这样无论怎么旋转物体,物体都会朝着相对自身而言的z轴前进。但如果是Space.World的话,那么设置的就是世界坐标,一旦旋转物体后物体的移动就会变得很诡异。原创 2023-01-05 16:15:48 · 77 阅读 · 0 评论 -
游戏编程5_物体s形移动
这一次是我自己编程了一个物体的移动轨迹,我让物体在z轴上呈现直线移动,而在x轴上进行sin函数一样的移动,所以最后会呈现出物体走s形。Math是一个包含多种数学工具的数学包:Sin,Cos,Sqrt,Pow等。首先在最前面申明using System;然后Math.Sin()进行调用就行了。如何使用sin函数呢?原创 2023-01-05 15:36:11 · 111 阅读 · 0 评论 -
游戏编程4_物体移动
下面的代码中,通过将物体的坐标值赋值给了pos,然后在pos中修改了z上的值,最后再将修改后的值赋值给了物体的坐标,这样,每一次刷新帧,物体都能往前移动0.1的距离。从下面的代码中可以看出,设置了一个speed速度,然后利用时间间隔Time.delTime计算出了物体每一帧做匀速运动所需要移动的距离。原创 2023-01-04 23:56:44 · 104 阅读 · 0 评论 -
游戏编程3_帧更新
Application.targetFrameRate=60,意思就是每秒钟会刷新60帧,也就是说每秒钟会执行Update中的代码60次。(不过不是严格执行,只是尽量往60帧靠)Time.deltaTime是计算时间间隔。Time.time是计算时间累计。原创 2023-01-04 23:27:12 · 76 阅读 · 0 评论 -
游戏编程2-物体移动
transform.localPosition获得本地坐标,然后修改本地坐标为(0,0.5f,0)原创 2023-01-04 22:55:42 · 39 阅读 · 0 评论 -
游戏编程1-初试
而transform、position则是指代unity中的位置。用Debug.Log()可以在unity的控制台中输出文字。pos.ToString("F3")是保留三位小数。this.gameObject指代代码所在的物体。原创 2023-01-04 22:33:34 · 48 阅读 · 0 评论 -
C#_变长参数
使用params关键字进行变长参数的使用。原创 2023-01-03 21:21:36 · 153 阅读 · 0 评论 -
C#_咖啡枚举
【代码】C#_咖啡枚举。原创 2023-01-03 17:53:18 · 79 阅读 · 0 评论 -
C#_qq枚举练习
【代码】C#_qq枚举练习。原创 2023-01-03 17:38:06 · 85 阅读 · 0 评论