6157人加入学习
(22人评价)
Unity常用API方法与类详细讲解 - 知识理论篇

制作完成于2022年3月8日,基于Unity2020.3

价格 免费

给位置赋值

可以用transform.position来接收

transform.position=new vector2(2,2)

相互接收

vector2 vector2=transform.position;

[展开全文]

值类型和引用类型

结构体是值类型 类型是两块内存空间

当yourStruct=mystruct之后再改变yourstruct中的属性  mystruct内属性不会变

class类是引用类型 两个类所处的是一个内存空间

当yourclass=myclass之后改变yourclass的属性

myclass的属性跟着改变

[展开全文]

用成员变量来单位化向量 原向量值不变

v2.normalized v2本身值不变

用成员方法来单位化向量 原向量值改变

v2.Normalize()  v2值改变

设置v2的值

v2.Set(x,y)

 

 

[展开全文]

公共函数

判断两个向量是否相等

v2.Equals(new vector2(1,1))

 (函数一般首字母大写,成员变量一般首字母小写)

 

[展开全文]

构造函数

vector2 v2=new vector(2,2)

成员变量

向量v2的模长是

v2.magnitude调用成员变量

需要的时候才学 有暖用

[展开全文]

vector2是一个表示点关于x,y的点 也可以是一个向量

方向

vector.down y负半轴

vector.up y正半轴

vector.left x负半轴

vector.right x正半轴

单位向点vector2.one

元点 vector.zero

 

[展开全文]

transform组件中的静态方法

 Transform.Destroy()  销毁游戏里面的物体

transform.Destroy( grisTrans.gameObject)

Transform.Instantiate()我记得应该是预制体复制

已查就是克隆

[展开全文]

子物体在父物体同级里所在的索引位置

transform相关查找

子物体的trasform.GetSiblingIndex();

 

[展开全文]

transform中的缩放

transform.localScanle

获取物体自身坐标x y z方向

x方向  transform.right

y方向 transform.up

z方向 transform.forward

[展开全文]

Transform  grisTrans=物体.transform

物体在空间的位置 grisTrans.position

物体以四元素(四元素是什么)表示的旋转是

girsTrans.rotation

物体以欧拉角(欧拉角是什么)形式表示的旋转是

girsTrans.eulerAngles

 

子物体相对于父物体的位置称为本地位置或者局部位置

 

localposition localRotation localeulerAngles

[展开全文]

transform.position获取物体在世界的坐标

[展开全文]

访问transform

如果是物体内的transform

可以直接用transform访问

如果是外面的物体 先引用进来再用

Transform类型接收 

Transform gg=xx.transform;

 

[展开全文]

通过一个物体找到另一个物体的组件

1(通过物体找到组件),先申明一个物体

物体.GetComponent<组件>获取组件 返回值是组件类型的

2(通过外物体的组件查找外物体的另一个组件)

spriteRenderer sr=grisGo.GetComponent<SpriteRenderer>();

组件类型=sr.GetComponent<sr物体所含有的组件>

 

 

 

[展开全文]

获取物体内的组件时,当组件不存在,获取组件内的属性会出现问题

 

获取物体外的另一个物体的组件,先引用另一个物体

先放进去一个public GameObject xx来存外面的物体(拖拽)

 

找到一个名为xx的物体

GameObject xxx=GameObject.Find("xx");

通过物体名.GetComponent<组件名>获取组件

xxx.GetComponent<SpriteRenderer>()

[展开全文]

利用节点找到节点内每一个组件

组件名 变量名=gameObject.GetComponent    <组件名>();获取到jio本组件

 变量名+

[展开全文]

多查

GameObject.FIndGameObjectsWithTag("标签名");

如果标签名一样的有很多个

就要用GameOject[] o来接收

再用循环遍历一下

 

第二种

带有一样类型的对象查找

GameObject.FindObjectsOfType<BoxCOllider>()

带有BoxCollider的对象

返回值类型就是组件的类型来接收

BoxColider [] x=

 

 

 

[展开全文]

查找物体(物体要在激活状态下才能被查到)

通过标签

GameObject maincamerago=GameObject.FineGameObjectwithTag("Maincamera")

maincamergo.name 获取节点名称

 

 

通过类型查找

No2_EventFunction no=Gaobject.FindObjectOfType<No2_EventFunction>

no.name 获取节点名称

[展开全文]

在c#声明的物体(创建了) 可以直接通过物体名.所需要的东西访问到

可以在没有声明的物体查找并声明

GameObject mainCameraGo=GameObject.Fine("物体(节点)名字")

 

 

[展开全文]