- 博客(22)
- 资源 (1)
- 收藏
- 关注
原创 await/async 基本使用
写法与async void 相比,没有什么太大的不一样,只是将void ,更换为Task而已,但是返回Task,可以使用await 以及一些Task的方法,如Task.WhenAny, Task.WhenAll ContinueWith等,更有利于后续逻辑的扩展。我们会发现,使用await后,执行到await,主线程就是返回去做自己的事情,而await后面的内容将会在子线程执行完成后再继续完成。await的作用和ContinueWith的作用类似,可以在上一任务以后接下一个任务,并且不会阻塞主线程。
2023-01-14 15:21:56
207
原创 使用 Task
(3)使用ContinueWhenAny和ContinueWhenAny获取返回值并作不同的操作,不会阻塞主线程。(2)使用ContinueWith获取返回值,并做后续操作,不会阻塞线程,并且还可以连环使用返回值。(1)主线程中获取返回值,会阻塞主线程。
2023-01-13 17:05:19
129
原创 Unity TimeLine使用详解 (自认为)
1.打开TimeLineWindows -->Sequencing -->TimeLine2.TimeLine可以添加多种机制1.类似创建一个文件夹2.可以将Hierarchy面板下的物体激活(只能激活)3.添加Animation动画 也可以添加Animator将动画拖拽上去就行4.添加一段声音5.添加一个预制体(prefab)添加一个物体点击添加的方块条,在Inspector中可以修改Prefab这个和Activetion类似,都是.
2022-04-20 21:04:38
3746
转载 Unity实现鼠标移动旋转物体
using UnityEngine;using System.Collections;public class www : MonoBehaviour { // Use this for initialization void Start () { StartCoroutine(OnMouseDown()); } public Vector3 mousePos; IEnumerator OnMouseDown() { ...
2021-12-07 17:46:50
2164
原创 反射的概念与用法
什么是反射?反射是一种行为,发生在程序运行时,当你查看程序集数据或者元数据的时候反射机制:是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性,是一种动态获取的信息以及动态调用对象的方法的功能。反射有什么用?可以通过反射获取类中的方法、字段、属性、子类什么时候使用反射? 简单的说反射是为了动态地运行时加载,而静态代码是在编译时就确定好了。也就是说当你的程序需要在运行时再做一些晚绑定,动态加载或检查对象等操作时,你就需要.
2021-11-25 17:11:27
472
原创 Unity 屏幕坐标转世界坐标 && 世界坐标转屏幕坐标
public Transform target;//目标 public Vector3 MyScreenToworld(Vector3 mousepos, Transform targetTransform) { //先计算相机到目标的向量 Vector3 dir = targetTransform.position - Camera.main.transform.position; //计算投影 V...
2021-11-25 11:24:28
3036
原创 Unity 检测敌人在前面还是后面或者左边还是右边
float pos = Vector3.Dot(transform.forward, target.position - transform.position); if (pos >= 0) { print("在玩家前方"); } else { print("在玩家后方"); }>0 表示敌人在前方=0表示敌人在正前方<...
2021-11-02 18:45:28
2838
原创 Unity自动寻路
1.使用射线获取坐标注意:这里使用了一个新的组件 (NavMeshAgent)2.给被控制目标添加NavMeshAgent组件3.将地形设置为static4.Windos->Navigation->Bake单击 Bake按钮 实现烘焙蓝色部分就是可以自动寻路的部分...
2021-10-20 19:03:27
2794
原创 练习数据库语句
#练习insert into product (name,price,count,introduction) values ('苹果',12,50,'我是一个红红的苹果,别问我苹果是谁');delete from product where name='苹果';update product set price=150 where id=2;select * from product;select *from product where id=2;select id from prod...
2021-10-13 19:22:53
57
原创 Unity 数据库操作
#创建数据库create database stu2;#创建UTf8字符集的数据库create database stu3 character set utf8;#查看数据库列表show databases;#使用数据库use stu3;#删除数据库drop database stu3;#创建老师表create table teacher(id int (4) primary key auto_increment,name varchar (20) not null,sex c
2021-10-12 20:24:35
1929
原创 C# 3D拾取技术,本地存储,角色控制器
1. 3D拾取技术1.从原点发射一条射线void Update () { //定义一条射线,起点为Vector3.zero,终点为物体坐标 Ray ray=new Ray(Vector3.zero,transform.position); //定义一个光线投射碰撞 RaycastHit hit; //发射射线长度为100...
2021-09-29 19:25:06
226
原创 C# 抽象类,接口,集合
1.抽象类1、抽象类中的方法可以有方法体,也可以没有2、抽象类不能被实例化,但是可以在子类中进行 由下至上 转型3、抽象类中没有方法体的方法需要子类去实现实现 关键字 override2.接口表现: 1.能力 2.规范1.接口像抽象类一样无法被实例化,也像抽象类一样可以被子类 由下向上 转型2.接口中的方法不能有方法体3.系统默认方法是public abstract4、没有方法体的方法需要类 去实现5.接口中可以有属性、常量、索引器,不能有...
2021-09-28 17:17:15
129
原创 封装,继承,多态
1.封装封装: //why:防止外部类恶意访问本类属性 //what:把字段私有化,然后生成公共属性 //when:在不允许外界恶意访问某字段的时候快捷方法: Propfull + Tab键企业开发快捷方式: Prop + Tab 键2.继承//继承: //why:解决重复资源 //what:一个类拥有另一个类的属性和方法,这个叫子类(派生类) //另一个...
2021-09-27 19:11:53
66
原创 Unity常用核心类
Unity 常用核心类TransformTransform组件是Unity3D的重点之一,主要用于控制物体的旋转、移动、缩放。A、transform.position位置移动transform.position = new Vector3(+10, 0, 0);B、transform.rotation旋转角度transform.rotation = Quaternion.Euler(0, 45, 0);transform.localScale 自身...
2021-09-24 20:57:53
264
原创 UGUI和UI交互逻辑
1.Canvas 画布用来将UI显示到屏幕前,可以随着用户所需大小进行调节,主要是2D效果;横屏竖屏2.Text 文本1.Text 显示的文本2.Font 字体3.FontStyle 字体样式4.LineSpacing 行间距5.Horizontal 与 Vertical 字体溢出6.RichText 勾选后可以使用 <color=bule></color><size>text</size>...
2021-09-23 19:51:35
565
原创 初始Unity
1.视图(五个) 层级视图(Hierarchy):主要存放游戏场景中的具体的游戏对象。场景视图(Scene):主要用于显示和操纵场景中的对象。游戏视图(Game):主要用于在编辑器内测试游戏。其效果和最终游戏发布效果一致。属性视图(Inspector):主要展示描述游戏对象详信息视图。工程视图(Project):主要存放游戏中用到的所有游戏资源文件。2.常用操作鼠标左键:选择鼠标右键:转动视角鼠标中键:拉进视角距离Q W E R 常用四...
2021-09-22 18:12:39
556
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人