游戏物体的获取。先获取游戏物体,才能获取物体的组件。
1.拖拽
注意赋值的类型,若为游戏对象,则必须拖拽游戏对象。若为组件,则拖拽的游戏对象必须含有此组件。
2.transform.Find("同级文件夹路径")
推荐使用
3.GameObject.Find("游戏物体名")
根据名字遍历查找,只返回第一个查到的物体,为避免错误要保证查找物体唯一。不推荐。
4.Gameobject.FindWithTag("标签名")
根据标签检索,推荐
游戏物体的获取。先获取游戏物体,才能获取物体的组件。
1.拖拽
注意赋值的类型,若为游戏对象,则必须拖拽游戏对象。若为组件,则拖拽的游戏对象必须含有此组件。
2.transform.Find("同级文件夹路径")
推荐使用
3.GameObject.Find("游戏物体名")
根据名字遍历查找,只返回第一个查到的物体,为避免错误要保证查找物体唯一。不推荐。
4.Gameobject.FindWithTag("标签名")
根据标签检索,推荐
组件的禁用与激活
BoxCollider collider = GetComponents<BoxCollider>();
collider.enabled = fasle;
注意:组件禁用不影响其他部分使用
脚本链接的对象访问其自身组件
GetComponent<Transform>()
GetComponent<Colloder>()
<>内为获取的组件类型、lei
内置类
1.Transform
Transform[] children = transfom.GetComponentsInChildren<Transform>()获取对象
2.GameObject
GameObject.Destroy(gameobject)销毁游戏对象
if(children!=transform)
foreach(Transform t in children)
inspector面板中public变量的值默认只与第一次新建有关,后续脚本内更改不会自动切换面板内的值,且输出以面板值为准!!!
变量默认
枚举类型enum:使变量ha清晰
1.定义
enum RoleType{
Mag,
Soldier,
Wizard
}
2.赋值
RoleType rt = RoleType.Mag
rt = RoleType.Soldier
数组名.Length()返回数组长度
int[] hps = new int[10];
数组长度为10,数字型初始值为0,字符串型默认初始值为空null
int[] hps = { }
int[] hps = new int[3]{1, 2, 3};数量必须对上
int[] hps= {100, 80, 60};
bool isDie = true/false
字符类型:char c = 'c';
字符串类型:string name = "绝地zhan'shi"
小数默认类型是double,要把3.4赋值给float类型,需要写3.4f
注释快捷键:Ctrl + k,Ctrl + c
日志输出
1.print只能在组件中使用,即必须继承自MonoBehaviour。
2.Debug.Log("123"),任意地方均可使用
3.Debug.LogWarning("123"),黄色叹号
4.Debug.LogError("123"),红色警告
1,2方法效果一样
1.脚本名与类名必须一致:
因为物体通过脚本名在脚本中寻找同名类执行
2.保存场景、代码
enum
9
编程用IDE VS用2017 安装出新问题用unity研究实验室 要设一个游戏物体,要再把这个游戏物体附着在脚本上
C#
MonoBehaviour ----print()
Debug.Log("");输出
Debug.LogWae]rining("");输出警告
Debug.LogError("");输出错误
ctrl c
ctrl v
变量用来存储数据的
赋值,把右边的值赋给左边的变量