自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 Unity3D 基础——WASD控制物体移动

它的名字是 Horizontal ,控制左右的分别是 a 和 d 键。下面还有一个 Vertical,是控制前后的。

2023-10-24 18:53:14 964 1

原创 Unity3D 基础——鼠标悬停更改物体颜色,移走恢复

【unity学习笔记】OnMouseEnter、OnMouseOver、OnMouseExit_unity onmouseover_一白梦人的博客-CSDN博客GetComponent()详解_getcomponet 动态名称-CSDN博客。

2023-10-23 18:59:26 654

原创 Unity3D 基础——Coroutine 协同程序

Coroutine 称为协同程序或者协程,协同程序可以和主程序并行运行,和多线程有些类似。协同程序可以用来实现让一段程序等待一段时间后继续运行的效果。例如,执行步骤1,等待3秒;执行步骤2,等待某个条件为 true;执行步骤3......在Unity3D 中,使 MonoBehaviour.StartCoroutine 方法即可开启一个协同程序,也就是说该方法必须在 MonoBehaviour 类或继承于 MonoBehaviour 的类中调用。

2023-10-17 18:30:26 351

原创 Unity3D 基础——使用 Mathf.SmoothDamp 函数制作相机的缓冲跟踪效果

使用 Mathf.SmoothDamp 函数制作相机的缓冲跟踪效果,让物体的移动不是那么僵硬,而是做减速的缓冲效果。将以下的脚本绑定在相机上,然后设定好 target 目标对象,即可看到相机的缓动效果。通过设定 smoothTime 的值,可以调节缓动效果的持续时间。Mathf-SmoothDamp - Unity 脚本 API。

2023-10-17 18:01:19 964

原创 Unity3D 基础——通过四元数控制对象旋转

1.在场景中新建一个 Cube 立方体和一个 Sphere 球体,在 Inspector 视图中设置 Cube 立方体的坐标为(3,0,4),Sphere 球体坐标为(0,0,0)。在这个例子中,通过键盘的左右方向来控制场景中的球体 Sphere 的横向运动,而 Cube 立方体则会一直朝着球体旋转。4.点击播放按钮,通过键盘左右方向键(或者A,D键)控制球体运动,而 Cube 立方体会一直朝向 Sphere 球体。2.新建 C# 脚本 MotionControl,并将其附给 Sphere 球体对象。

2023-10-13 19:56:40 770

原创 Unity3D 基础——使用 Vector3.Lerp 实现缓动效果

3.将脚本绑定到 Cude 上,然后将其 Inpector 视图中将 endTrans 指定为 Cube(1) (我命名的是Arm)。(让A缓动到B,就把脚本绑定在A上,endTrans 设置为 B)1.在场景中新建两个 Cube 立方体,在 Scene 视图中将两个 Cude的位置错开。4.点击播放按钮,可以看到 Cube 缓动到 Cube(1) (我的Arm)的位置。2.新建 C# 脚本 Distance.cs(写完记得保存)

2023-10-13 18:54:27 1355

原创 Unity3D 基础——使用 Vector3.Distance 计算两个物体之间的距离

3.将脚本绑定到场景中的主相机 Main Camera (将脚本拖到主相机上);然后将 Cube 和 Cube(1) 拖到主相机 Inspector 视图中的 Obj Trans 1 和 Obj Trans 2 中。4.点击播放按钮,可以在 Console 视图中输出两个 Cube之间的距离(没有 Console 窗口按 Ctrl+Shift+C)1.在场景中新建两个 Cube 立方体,在 Scene 视图中将两个 Cude的位置错开。2.新建 C# 脚本 Distance.cs(写完记得保存)

2023-10-13 18:16:31 2229

原创 C#基础——GDI+图形图像技术

GDI+ 就好像是一个绘图仪,它可以将已经制作好的图形绘制在指定的模板中,并可以对图形的颜色,线条粗细,位置等进行设置。

2023-09-18 19:19:30 85

原创 C#基础——文件及数据流技术

System.IO 命名控件包含允许在数据流和文件中进行同步和异步读取及写入的类型。这里需要注意的文件和流的差异,文件时一些具有永久储存及特定顺序的字节组成的一个有序的,具有名称的集合。因此,关于文件,人们常会想到目录路径,磁盘存储,文件和目录名等方面。相反,流提供一种向后储存写入字节和从后备储存读取字节的方式。后备储存可以为多种储存媒介之一,正如除磁盘外存在多种后备储存一样,除文件流之外也存在多种流。

2023-09-18 18:21:51 76

原创 C#基础——Windows窗体

向项目中添加多个窗体以后,如果需要调试程序,必须要设置先运行的窗体。项目的启动窗体是在 Program.cs 文件中设置的,在 Program.cs 文件中改变 Run() 方法的参数,即可实现启动窗体。(如果点击按钮后只想显示一个窗体,可以使用 frm2.ShowDialog() 方法,将窗体显示为模式对话框。在窗体 Form1 中添加一个按钮,点击按钮打开另一个窗体 Form2。如果要在窗体中打开另一个窗体,就要使用到 Show() 方法显示窗体。单机登录按钮,隐藏登录窗口,显示主窗体。

2023-09-15 20:38:00 476

原创 数据库——用Connection对象连接数据库

以SQL Sever数据库为例,如果要连接SQL Sever数据库,必须使用System.Data.SqlClient 命名空间下的SqlConnection 类。所以首先要通过using System.Data.SqlClient 命令引用命名空间,连接数据库之后,通过调用SqlConnection 对象的Open() 方法打开数据库。通过SqlConnection 对象的State 属性判断数据库的连接状态。

2023-09-12 20:40:51 470

原创 C#基础——结构和类

在结构体中的变量,可以是相同,部分相同,或完全不同的数据类型。例如,可以将公司里的职员看作一个结构体,将个人信息放入结构体中,主要包含姓名,年龄,出生日期,性别,籍贯,婚否,职务。结构是一种值类型,通常用来封装一组相关的变量,结构可以包括结构函数,常量,字段,方法,属性,运算符,事件和嵌套类型等。析构函数的名称是在类的名称前加上一个波浪形(~)作为前缀,它不返回值,也不带任何参数。向方法传递时,结构是通过传值的方式传递的,而不是作为引用传递的。构造函数的名称与类的名称完全相同,它没有任何返回类型。

2023-09-09 19:07:59 37

原创 C#基础——属性和方法

out 关键字用来定义输出参数,它会导致参数通过引用来传递,者与ref 关键字类似,不同之处在于ref要求变量必须在传递之前进行初始化,而使用out 关键字定义的参数,不用进行初始化即可使用。当按引用传递参数时,与值参数不同的是,它不会为这些参数创建一个新的存储位置。params参数必须用来指定再参数数目可变时采用的方法参数,params参数。如果要使用ref 参数,则方法声明和调用方法都必须显示使用ref 关键字。ref 参数使方法参数按引用传递,引用参数是一个对变量的。

2023-09-09 18:30:57 85

原创 C#——向数组中添加元素,数组

【代码】C#——向数组中添加元素,数组。

2023-09-07 17:22:11 3625

转载 设计模式——类图的关系

聚合关系也是通过成员对象来实现的,其中成员对象是整体对象的一部分,但是成员对象可以脱离整体对象而独立存在。在自核关心中,整体对象可以控制部分对象的生命周期,一旦整体对象不存在,部分对象也将不存在,部分对象不能脱离整体而存在。例如,头和嘴的关系,头没了,嘴也就不存在了。在这种关系中,类实现了接口,类中的操作实现了接口中所声明的所有的抽象操作。继承关系是对象之间耦合度最大的一种关系,表示一般与特殊的关系,是父类与子类之间的关系,是一种继承关系。聚合关系是关联关系的一种,是强关联关系,是整体和部分之间的关系。

2023-08-29 18:31:24 33

原创 设计模式——类图

下图表示一个Employee类,它包含name,age和address这个属性,以及work()方法。方法的完整表示方法是:可见性 名称(参数列表) [ :返回类型]属性的完整表示方法是:可见性 名称 :类型 [ = 缺省值]属性方法前面的加减号表示了它的可见性。# :表示protected。- :表示private。+ :表示public。([ ]表示可选的)

2023-08-29 16:39:14 30

原创 设计模式——行为模式

通过按钮来控制糖果机,它有几种状态:售完,没有检测到钱,检测到钱,售出。//售完//没有//有//售出创建类实现接口break;break;break;//变成售完状态break;假如我们卖完最后一颗糖果,卖完后糖果机从出售状态变成售完状态。可以在当中加入其他的判断条件。测试类SOLESOLE_OUT。

2023-08-28 16:50:08 22

原创 Java排序算法——堆排序

利用堆的特点(第一位是最大的元素),把第一个元素和最后一个元素进行交换,这样最大的元素就放到了数组的末尾,同时也破坏了堆的结构,再进行建堆,再交换,再建堆,使数组排序。

2023-08-23 20:24:21 31

原创 Java算法——二分查找

把数组一分为二,先判断在左边还是在右边,再进行查找,查找目标值在数组中的位置。前提:数组必须是有序的。

2023-08-18 20:00:00 28

转载 Java基础——Java集合②

需求:创建一个HashMap集合,键是学号(String),值是学生对象(Student)。存储三个键值对元素,并遍历。(5)遍历集合(键找值、键值对对象找键和值)案例:HashMap集合存储学生对象并遍历。(2)创建HashMap集合对象;(4)把学生添加到集合;(3)创建学生对象;

2023-08-17 18:52:46 22

原创 Java基础——I/O流

void write(byte[] b, int off, int len) —— 一次写一个字节数组的部分数据。一次读一个字节,读出来的数据在ASCII上对应的数字。因为如果输入流也创建的话就会创建出一个空文件,这样没有意义,所以文件不存在就会报错。write方法的参数是整数,但实际上写到本地文件是。默认是false,表示关闭续写,此时创建对象会清空文件。如果文件不存在,直接报错,Java为什么会这么设计呢?文件不存在会创建一个,但要保证父级是存在的。虽然完整是的\r\n,但写其中一个也可以达到目的。

2023-08-17 18:32:33 35

原创 Java基础——Java集合

在创建数组时,必须明确数组的长度,数组长度一旦创建,不能改变。但在许多场合,数据的数目是不固定的。为了使程序方便储存操作数目不一定的一组数据JDK类库提供了Java集合,所有Java集合类都位于java.util包中。与Java数组不同,Java集合中不能存放基本类型数据,只能存放对象的引用。Set(集):集合中的对象不按特定方式排序,没有重复对象。它的有些实现类能堆集合中的对象按特定方式排序。

2023-08-16 19:34:26 23

原创 Java基础——数组②

查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。比较数组:通过 equals 方法比较数组中元素值是否相等。对数组排序:通过 sort 方法,按升序。给数组赋值:通过 fill 方法。

2023-08-15 20:15:58 27

原创 Java基础——数组①

数组是用来存储固定大小的同类型元素。

2023-08-15 18:50:55 23

原创 Java基础——内部类②

局部内部类是在iyge方法中定义的内部类,它的可见范围是当前方法。局部内部类不能被访问控制修饰符和static修饰符修饰。匿名类是不能有名字的类,它们不能被引用,只能在创建时用。

2023-08-15 18:24:59 72

原创 Java基础——多线程

进程是指运行中的应用程序,每一个进程都有独立的内存空间,一个应用程序可以同时执行多个进程。(当有程序未响应的时候你会打开任务管理器,里面显示的一堆东西就是进程。线程是指进程中的一个执行流程,一个线程可以由多个线程组成,即在一个进程中可以同时运行多个不同的线程,它们分别执行不同的任务。

2023-08-15 17:38:16 22

原创 Java基础——对象的生命周期

在Java虚拟机的生命周期中,一个个对象被陆续地创建,又一个个被销毁。在对象生命周期的开始阶段,需要为对象分配内存,并且初始化它的实例变量。当程序不再使用某个对象时,它就会结束生命周期,它的内存可以被Java虚拟机的垃圾回收器回收。

2023-08-15 16:47:07 128

原创 Java基础——内部类①

在一个类的内部定义的类称为内部类。内部类允许把一些逻辑相关的类组织在一起,并且控制内部类代码的可视性。对于初学者而言,内部类似乎有些多余,但是随着对内部类的逐步了解,就会发现它有独到的用途。学会使用内部类,是掌握Java高级变成的一部分,它能够让程序结构变得更优雅~

2023-08-14 18:02:58 22

原创 Java基础——类的生命周期

类的生命周期从类被加载,连接和初始化开始,到类被卸载结束。只有当类处与生命周期中,Java才可以使用它,比如调用类的静态属性和方法,或者创建类的实例。

2023-08-11 18:36:20 70 1

原创 Java基础——异常处理

异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。异常发生的原因有很多,通常包含以下几大类:1.用户输入了非法数据。2.要打开的文件不存在。3.网络通信时连接中断,或者JVM内存溢出。这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。运行时异常是可能被程序员避免的异常。

2023-08-11 18:02:38 54 1

原创 Java基础——接口

接口是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。//Test002接口中,名字为name002的方法,不能有{ },因为都是抽象方法除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。

2023-08-10 19:08:47 49 1

原创 Java基础——Java语言中的修饰符

抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充。一个类不能同时被 abstract 和 final 修饰。如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将出现编译错误。抽象类可以包含抽象方法和非抽象方法。public abstract class Test001 { //抽象类//抽象方法,没有{ }抽象方法抽象方法是一种没有任何实现的方法,该方法的具体实现由子类提供。抽象方法不能被声明成 final 和 static。任何继承抽象类的子类必须实现。

2023-08-10 18:30:42 87 1

原创 Java基础——继承

使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。在 Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类。final 可以用来修饰变量(包括类属性、对象属性、局部变量和形参)、方法(包括类方法和对象方法)和类。super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。,那么可以说,子类的方法覆盖了父类的方法。

2023-08-09 19:08:45 114 1

原创 Java基础——流程控制②

顺序结构的程序语句只能被执行一次,如果想要同样的操作执行多次,就需要使用循环结构。

2023-08-09 18:52:24 22 1

原创 Java基础——流程控制①

在一个有序的社会环境中,不管日常事务还是生产工序,都会按照特定的流程有条不紊的运转。

2023-08-09 18:43:59 45 1

原创 Java排序算法——递归

递归就是一个程序或函数在其中定义或说明有之间或者间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个原问题相似的规模较小的问题来求解,递归策略只需要少量的程序就可以描述出解题过程所需要的多次重复计算,大大的减少了程序的代码量,递归的能力在于用有限的语句来定义对象的无限集合,一般来说,递归需要边界条件,递归前进段和递归返回段,当边界条件不满足时,递归前进,当边界条件满足时,递归返回。例:return 1;} else {注意点:1.程序调用自己。2.一定要有终止条件。

2023-08-08 19:21:13 153

原创 Java基础——运算符

【代码】Java基础——运算符。

2023-08-08 19:11:50 29

原创 Java基础——数据的类型与变量

定义变量是指设定变量的数据类型和变量的名字//数据类型名 变量名;int age;与生活中的“=”不同,这里的“=”为赋值运算符,把18赋值给age。如果是生活中的等于,在Java语言中是“==”。

2023-08-08 18:47:55 16

原创 Java基础——面向对象开发中的核心思想和概念

在面向对象的软件开发过程中,开发者的主要任务就是先建立模拟问题领域的对象模型,然后通过程序代码来实现对象模型,并且能保证软件系统的可重用性、可扩展性和可维护性。

2023-08-08 18:47:22 42

原创 Java排序算法——归并排序

2. 进行判断(某个数组过长,一个数组复制完毕后另一个数组还有数据,直接略过比较,进行复制)从数组a1,从索引x位置开始,复制到数组a2,索引y位置,复制的元素个数为z个。a1表示第一个数组,i表示第一段数组的开头,iEnd表示第一段数组的结尾。1. 第一段有序数组和第二段有序数组进行比较,较小的放入第二个数组。j表示第二段数组的开头,jEnd表示第二段数组的结尾。合——合并两个有序数(需要知道数组的长度)分——每次从中间切分,处理数据少一半。治——当数据仅剩下一个的时候认为有序。

2023-08-07 20:25:56 41

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除