- 博客(33)
- 收藏
- 关注
原创 Common Language Runtime
是微软.NET框架的核心组件。CLR提供了一个运行环境,管理代码的执行,并提供了一系列服务,使得不同编程语言(如C#、VB.NET、F#等)可以在同一个平台上互操作。CLR是.NET应用程序的执行引擎,类似于Java的JVM(Java Virtual Machine)。
2024-06-18 20:39:22 479
原创 在UI界面中实现3d人物展示
将旋转角度作用在角色上:记录人物初始的角度(y轴的角度),重新设置人物的角度。记录人物旋转角度x:鼠标按下位置减去鼠标拖拽的终点的得到鼠标的旋转角度。
2024-06-08 20:38:00 627
原创 ForceMode应用力的不同模式
持续施加的力,考虑物体质量并与时间成比例。: 持续施加的加速度,不考虑物体质量。: 瞬间施加的力,导致物体获得冲量。: 直接改变物体的速度,不考虑物体质量。
2024-06-08 07:00:00 431
原创 unity中animation和animator在使用上的区别
则是一个基于状态机的动画控制系统,允许更灵活地管理动画状态和转换。在大多数情况下,使用。是一个基于关键帧的直接动画播放方式,而。组件用于在对象上直接存储和播放动画数据。更为灵活且适用于需要复杂动画控制的情况。控制对象的动画状态和转换。
2024-06-06 20:21:27 1049
原创 unity中的线程锁
是一种多线程编程中的同步机制,用于控制多个线程对共享资源的访问。在多线程环境中,如果多个线程同时访问共享资源,可能会导致数据竞争(Data Race)或者其他不确定行为,从而破坏程序的正确性。加锁的目的是确保在任何时刻,只有一个线程可以访问共享资源,其他线程需要等待锁被释放后才能访问。这样可以避免多个线程同时对共享资源进行修改而导致的问题。Unity中,线程锁通常用于控制对共享资源的访问,以确保在多线程环境下的数据完整性和一致性。,可以确保同一时间只有一个线程可以访问。是一个对象,用于在多个线程中保护。
2024-05-29 15:21:37 409
原创 PESocket客户端链接服务器出现The requested operation caused a stack overflow.
bug描述:先设置服务器的日志,在启动服务器,具体代码如下,启动后出现The requested operation caused a stack overflow.
2024-05-29 12:02:26 429
原创 xml获取数据
(3)从xmlelement中获取各种名称的数据。(2)将每个节点转换为xmlelement。(1)获取根节点的所有字节点的list。
2024-05-26 15:54:36 558
原创 random和range
用于生成随机数。它可以生成浮点数或整数,取决于具体的使用方式。,用于生成一个整数序列。它可以生成一个指定范围内的连续整数序列。
2024-05-26 12:52:07 698
原创 C#字典的常用方法
C#的字典(Dictionary)类是一个通用的集合类,它实现了键值对的存储和访问。此外,字典类还提供了许多其他的方法和属性,用于遍历、排序、复制等操作。可以根据实际需求选择适当的方法来操作字典。
2024-05-23 16:56:52 531 1
原创 使用lineRenderer.SetPositions()绘制不连续的直线(闪电)
在这个例子中,我们简单地返回了一个包含5个点的数组,这些点在3D空间中描述了一条线段。你可以根据需要自定义。组件已经正确设置了其他属性,例如线条宽度、材质等。方法时传递了一个数组作为参数,该数组是通过调用。类型的数组,该数组包含了线条上的所有点的位置。属性,在指定的位置绘制一条连续的线条。方法,以便将这些点作为线段的顶点。在上面的代码中,我们首先将。方法,以适应你的应用场景。方法将传递的点数组分配给。有足够的顶点来绘制线段。是Unity中用于设置。,将返回的点数组传递给。
2024-05-08 14:35:50 745 1
原创 混合树创建动画之常见错误
使用混合树创建动画,系统会自动创建一个修改混合树状态的浮点型变量Blend(在添加条件时,并非使用自己单独创建的浮点型变量)
2024-05-07 20:18:01 204
原创 子弹平抛上抛路径的计算
为了计算子弹的平抛上抛路径,需要根据给定的初速度、发射角度或竖直初速度来求解相应的初速度分量v0x和v0y。其中,y为子弹在竖直方向上的位移(即目标位置的y与子弹位置的y的绝对值),v0y为子弹的初速度(竖直方向),g为重力加速度(一般取9.8 m/s^2),t为时间(已知y,g可求t)。其中,x为子弹在水平方向上的位移(即目标位置的x与子弹生成位置的x的绝对值),v0为子弹的初速度(水平方向,根据(1)中的t值和x的位移距离,可求x方向的初速度),t为时间。
2024-05-05 13:09:35 889
原创 Visual Studio 常用快捷键
显示/隐藏工具栏:Shift + Alt + Enter。显示/隐藏资源管理器:Ctrl + Alt + L。显示/隐藏输出窗口:Ctrl + Alt + O。编译项目:Ctrl + Shift + B。复制当前行或选定的文本:Ctrl + C。剪切当前行或选定的文本:Ctrl + X。查看错误列表:Ctrl + \ + E。撤销更改:Ctrl + Z。粘贴:Ctrl + V。全选:Ctrl + A。查找:Ctrl + F。替换:Ctrl + H。
2024-05-04 19:58:56 829
原创 通过Buoyancy Effector2D组件制作水作浮力效果
通过调整Buoyancy Effector2D的属性,可以控制物体在水中的浮力和水流的效果。它可以让2D游戏中的物体像在水中一样浮在水面上,并受到水的流动和波浪的影响。Buoyancy Effector2D还可以与其他效果器一起使用,例如Area Effector2D和Point Effector2D,以实现更复杂的水流和浮力效果。总之,Buoyancy Effector2D是Unity引擎中一种方便的工具,用于在2D游戏中模拟物体在水中的浮力效果,并使其受到水流和波浪的影响。
2024-05-03 20:52:40 260
原创 通过rigidbody2d.GetContacts()获取与该刚体(Rigidbody2D)相交的其他碰撞体(Collider2D)的信息
rigidbody2d.GetContacts()是Unity中的一个方法,用于获取与该刚体(Rigidbody2D)相交的其他碰撞体(Collider2D)的信息。2.关于public int GetContacts(ContactFilter2D contactFilter, ContactPoint2D[] contacts)该方法是一个公共方法,返回类型为整数。它接受两个参数:一个是ContactFilter2D类型的contactFilter对象,另一个是。
2024-05-03 19:31:08 1607
原创 RaycastHit2D检测之指定层级
这里的raycastHit2D返回一个0或者非零的值,可用于设置bool变量用于判断是否检测到物体。定义一个射线,从当前物体发射,向下,长度0.2,只检测层级为8的。
2024-04-30 12:44:47 376
原创 unity中修改transfrom中position失效的问题
是一个只读属性,它返回的是一个Vector3类型的值,而不是一个可直接修改的变量。物体的坐标是一个整体,当需要给定新坐标时,需要给定一个Vector3(2)类型的值,例如下方的两种方式。只修改一个物体坐标的一个方向的值,例如:a坐标为(x,y,z),现在需要修改为(-x,y,z)。存在一个父物体a,一个子物体b,ab各有自己的脚本。子物体b坐标通过父物体坐标的动画设置为(x,0,0)通过下述代码无法将c修改为(-x,y,z),程序运行后,根据需要动画需要修改b坐标为(-x,0,0)。
2024-04-28 12:52:39 1376 2
原创 Toggle组件之开关状态切换
通过gameObject.GetComponent()可以获取到gameObject对象上的Toggle组件,再通过isOn属性可以获取或设置Toggle组件的状态。如果isOn为true,则表示Toggle组件处于打开状态;如果isOn为false,则表示Toggle组件处于关闭状态。isOn是Toggle组件的一个布尔类型属性,用于表示Toggle组件当前是否处于打开状态。
2024-04-25 21:18:38 201 1
原创 常见错误2---使用Vector3.MoveTowards后物体不移动
注意使用Vector3.MoveTowards要清楚其中的第一个参数,为当前位置的点。如果第一个参数使用下述代码的startPoint,物体就会出现不移动或者抖动情况。
2024-04-25 11:33:42 847 1
原创 关于人物穿过碰撞体的BUG
当角色运动速度过快时,可能存在未检测到碰撞体的情况;选择连续(Continuous)检测可以避免出现上述情况,但更加消耗电脑运行资源。在角色的rigidbody 2D(3D)存在一个碰撞体检测的属性,默认不连续(Discrete)角色在跳跃,奔跑等高速移动的情况下会进入到碰撞体里面。角色与物体的Z轴不一致。
2024-04-24 11:02:56 369
原创 单例模式之非游戏物体的创建与使用
游戏物体设置为单例模式可以在awake函数内进行初始化。在其他地方需要使用该非游戏物体的实例时,可以通过调用。
2024-04-23 13:30:36 446 1
原创 SpriteRenderer精灵渲染器(组件)
特别的是Flip属性(对图片进行X轴或者Y轴的旋转),在游戏人物的控制中,人物左右行走时的转向就可以 通过Filp属性来实现。SpriteRenderer与image类似,都是挂载在图片上的组件(都可以修改UI中的图片和材质)通过render可以获取组件内的的sprite属性(更改UI中的Image的图片)
2024-04-22 21:39:22 474
原创 getkey和getkeyDown区别
区别:getkey(一直按,判断下压或者松起的状态)getkeydown(判断按下的动作,要想返回为真就要反复按下松起)适用范围:getkey用在控制人物的上下左右(WSAD)中,可以一直按着,人物能够一直行走getkeyDown用在控制人物的跳跃上,按一次人物就跳跃一次
2024-04-21 11:59:56 417 1
原创 常见错误一:未将脚本挂载在物体上
使用单例模式时报错Object reference not set to an instance of an object。如果是在程序运行后,发现遗漏后再挂载的脚本,运行时任然出错,建议重启unity在进行尝试。
2024-04-21 11:52:13 299
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人