1.GameObject和gameObject区别:
"GameObject"是Unity中的一个类,用于创建和操作游戏对象;
而"gameObject"是一个属性,用于在脚本中访问和操作当前脚本所附加的游戏对象。
using UnityEngine;
public class ExampleScript : MonoBehaviour
{
// 声明一个公共的GameObject变量
public GameObject gameObj;
private void Start()
{
// 使用gameObj变量创建一个新的游戏对象
GameObject newObject = Instantiate(gameObj, Vector3.zero, Quaternion.identity);
// 通过gameObject属性获取当前脚本所附加的游戏对象
GameObject currentObject = gameObject;
// 打印当前脚本所附加的游戏对象的名称
Debug.Log("当前游戏对象的名称:" + currentObject.name);
// 打印新创建的游戏对象的名称
Debug.Log("新创建的游戏对象的名称:" + newObject.name);
}
}
2. 获取游戏物体:
声明变量:
(1)(public)在inspector中指定:将脚本随意赋给一个游戏对象,然后将目标游戏对象拖到对应属性
(2)(private)通过游戏物体名称指定:将脚本随意赋给一个游戏对象,然后通过代码里面的Find函数和游戏物体名称找到对应的游戏物体
不声明变量:
直接将脚本添加到对应游戏物体的组件上(可以有多个),里面通过transform等属性隐式指定所属的游戏对象(即脚本挂接的游戏对象)
3.旋转:
没乘Time.deltaTime:每帧旋转45度
乘Time.deltaTime:每秒旋转45度
(fps:帧速率即每秒执行多少帧,9.9ms表示每帧耗时)
4.克隆:
无限克隆: 如果将克隆脚本0赋给待克隆游戏物体0本身,那么会对物体0进行无限克隆,因为克隆后的物体1会含有克隆脚本1(是对脚本0的克隆),而克隆脚本1的内容是对克隆物体1进行克隆,因为会再次产生克隆物体2和克隆脚本2,以此无限克隆。
单次克隆: 将克隆脚本赋给待克隆游戏物体以外的其他物体
5.渲染顺序:(需要renderer渲染器的物体都有该属性)
图层顺序: 根据SpriteRender组件中的Order in Layer的值的大小来判断,值越小越先被渲染(显示),值越大越后被渲染(显示),就会显示在上方
画布顺序: (针对多个canvas同时存在的情况)(1)render-mode为screen space-overlay时,Sort Order 值越大对应canvas越靠前(上方),值较低则会被遮拦(2)render-mode为screen space-camera时,sorting-layer位置越靠下对应canvas越靠前(上方),越靠上则会被遮拦,当sorting-layer一致时,order in layer值越大,越显示在上方
6.滚动视图Scroll View和滑块Slider区别:
Scroll View: 滚动图像或者其他过大无法显示完全的视图
Slider: 用于选择特定范围的数值