修改位置的方法
transform.position=new Vector(3,3);
Vector2 vector=transform.position;
vector.x=4;
transform.position=vector;
修改位置的方法
transform.position=new Vector(3,3);
Vector2 vector=transform.position;
vector.x=4;
transform.position=vector;
GameObject.CreatePrimitive(PrimitiveType.plane);
游戏物体的查找和获取
this.geiasGo;
this.gameobject;
public GameObject grisGo;
使用构造函数创建游戏对象
GameObject myGo=new GameObject("MyGameObject");
根据现有的游戏对象资源或场景已有的游戏实体实例化(克隆)
GmaeObject.Instantiate(grisGo);
使用特别的API 创建基本的游戏类型
OnDisable()方法
调用情况:游戏物体被销毁 组件被禁用时调用
时间:调用一次,每次被销毁都会调用一次
作用:资源回收和清理,状态重置
外部对变量赋值顺序
Awake>OnEnable>外部赋值>Start
Start()
调用 同OnEable()但是只会调用一次
时间 Update方法之前,Awake()方法之后调用
作用实例化被Awake()方法加载的UI物体。
Onable()
游戏物体激活时调用或组件被激活调用
多次 作用对象池复活
Awake()
调用一次即初始化的时候调用,之后不再调用。
生命周期函数
事件函数
Debug.Log("");是继承了Mono类的方法
Debug.LogWarning("");
Debug.LogError("");
1、测试
2、检错
Debug.Log("");
变量声明>检视面板>awake>onenable>外部赋值=start
yield return new WaitForSeconds(2);
GameObject myGo = new GameObject(); 直接会出现新建的物体
Instantiate(grisGo);克隆
课时12-09) 生命周期概览
脚本之间Awake调用顺序不确定
无法单独设置position的值的原因
transform.position不能单独给其结构体变量赋值
设置Vector2的值
1.将V2向量变成单位化向量
v2.Normalized();
print("V2向量是:"+v2);//v2向量就变成了单位化向量了,v2的值改变了
2.v2.Set(5,8);
printf("v2向量的值是:"+v2);//v2的只变成了(5.0,8.0)
3.将向量v2转到transform.position中
transform.position=v2;//该游戏物体的位置就改变了
transform的查找方法
当前脚本挂载的游戏对象下的叫Gris的子对象身上的Transform组件是
transform.Find("Gris")
当前脚本的游戏对象下的第一个(0号索引)子对象的Transform引用是transform.Getchild(0);
Gris当前在此父对象同级里所在的索引位置:grisTrans.GetSiblingIndex();
Transform的缩放与正方向
grisTrans.localScale;Gris相对于父对象的变换缩放
Gris的自身坐标正前方(z轴正方向)是grisTrans.forward; 局部坐标系local
Gris的自身坐标正右方(x轴正方向)是grisTrans.right; 局部坐标系local
Gris的自身坐标正上方(y轴正方向)是grisTrans.up; 局部坐标系local
Vector3.forward(世界坐标系)
Gris以欧拉角形式表示的旋转(以度数为单位)
grisTrans.eulerAngles;
Gris的父级transform是
grisTrans.parent;
局部/本地坐标(子级相对于父级的坐标)
Gris相对于父对象的位置坐标和旋转(以四元数旋转和以欧拉角形式旋转)信息是
grisTrans.localposition;
grisTrans.localRotation;
grisTrans.localeulerAngles;