object类是所有类的基类
GameObject类是所有物体的基类
public GameObject obj1是创建游戏物体1
public Transform p1是创建物体并赋予坐标为(0,0,0)
obj1 = GameObject.Find("p1");//在层级视图中查找
obj1 = GameObject.Find("p1/p2");//在层级视图p1中查找p2
注意GameObject中Find无法查找隐藏(未激活)物体
obj1 = GameObject.Find("p1").transform.Find("p2").gameObject;transform.Find可以获取隐藏物体
为两个物体赋予父级
p2.parent = p1;
p2.SetParent(p1);
输出物体的坐标
Debug.Log("p1:" + p1.position);
Debug.Log("p1:" + p1.localPosition);
Debug.Log("p2:" + p2.position);
Debug.Log("p2:" + p2.localPosition);
位置赋值
p2.position = new Vector3(2, 2, 2);
p2.localPosition = new Vector3(2,2, 2);
缩放
p2.localScale = new Vector3(2, 2, 2);
旋转角度赋值
p2.rotation = Quaternion.Euler(2, 2, 2);
p2.localRotation = Quaternion.Euler(2, 2, 2);
看向某个物体用look at如
p1.transform.LookAt(p2);
物体的轮回移动
bg.Translate(0, moveSpeed*Time.deltaTime,0);
bg1.Translate(0, moveSpeed * Time.deltaTime, 0);这是控制两个物体在物体的y轴方向移动,移动速度自定义输入
//Time.time该帧开始的时间(只读),此为自游戏启动以来的时间
//Time.timeScale 时间流逝的缩放。可用于慢动作
下面的两个if循环控制两个物体在位置为8的时候回到上方进行重复运动
if (bg.position.z<=-8)
{
bg.position = bg1.position + new Vector3(0, 0, 8);
}
if (bg1.position.z <=-8)
{
bg1.position = bg.position + new Vector3(0, 0, 8);
}
控制物体移动
if (Input.GetKey(KeyCode.W))
{
transform.Translate(0, moveSpeed * Time.deltaTime, 0);
}
用if语句确认键盘输入的按钮如W,用transform.Translate加坐标,moveSpeed * Time.deltaTime放在第一个是控制左右,放在第二个是控制上下。