Unity–小知识

Unity–小知识

本篇文章将不定时更新

一、预制体(perfab)与实例化

instantiate–实例化:

请添加图片描述

eg:
请添加图片描述

预制体,生成位置,旋转角度,生成父物体

Quaternion(四元数)是一种数学表示,用于表示和处理三维空间中的旋转)

它是由一个实部和三个虚部组成的四元组。四元数通常表示为:

q = w + xi + yj + zk

其中,w、x、y和z分别是四元数的四个分量,i、j、k是虚部单位。

在Unity中,四元数被用于表示游戏对象的旋转。Quaternion类提供了许多用于处理旋转的方法,如乘法、插值和创建旋转等。

二、字典(Dictionary)

请添加图片描述

需要引用的命名空间

Dictionary<K, V> dic = new Dictionary<K, V>(); 其中:k代表键(key) v代表值(value)

方法:
1.ContainsKey

dic.ContainsKey(k)==>判断Dictionary中是否包含某个键

2.TryGetValue

当在字典中不能确定是否存在该键时需要使用TryGetValue,以减少一次不必要的查找,同时避免了判断Key值是否存在而引发的“给定关键字不在字典中。”的错误。(TryGetValue是根据ID返回相应的数据,如果没有ID则返回默认值)

var result = null; (Dictionary中的值为什么类型,result就是什么类型)
if (theDictionary.TryGetValue(id, out result))
{
  //What ever you gonna do next…
}

三、Mathf
方法
1.Mathf.Abs(取绝对值)
2.Mathf.Approximately(判断两个值相似)

Mathf.Approximately是判断里面两个值是否相似

3.Mathf.MoveTowards(简单来说就是让a向b的值逐渐靠近)

public static float MoveTowards(float current, float target, float maxDelta);
Mathf.MoveTowards方法的功能是返回一个浮点数,其值为current向target靠近的一个值。靠近多少呢?由maxDelta决定

四、游戏退出(2d、3d都适用)

我们都知道Application.Quit();这个函数方法,但是这个函数方法只有在打包游戏后才可以退出游戏,要是想在Unity编译器中也可以退出的话,可以这样写:

在这里插入图片描述

五、获取当前鼠标下的Grid网格位置

//鼠标检测
private Camera mainCamera;//相机
private Grid currentGrid;//当前瓦片地图

private Vector3 mouseWorldPos;//鼠标在世界的位置
private Vector3Int mouseGridPos;//鼠标在grid地图上的位置
private void Start()
{
currentGrid = FindObjectOfType();
mainCamera = Camera.main;
}
private void FindPosition()
{
mouseWorldPos = mainCamera.ScreenToWorldPoint(new Vector3(Input.mousePosition.x,Input.mousePosition.y,-mainCamera.transform.position.z));
mouseGridPos = currentGrid.WorldToCell(mouseWorldPos);
}

  • 20
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值