一、创建个.LookAtDemo01文件
publicTransform target; //定义目标
publicGameObject bulletPrafab; //子弹
publicTransform shootPoint; //炮口射击点在炮口建立一个空对象
void Update () {
transform.LookAt(target); //看着目标---文件给了炮台圆,炮台跟着目标转,圆柱体炮管是圆球的子物体,一起旋转
GameObject bullet = GameObject.Instantiate(bulletPrafab,shootPoint.position, transform.rotation) asGameObject;//子弹、射击点、变换旋转
Destroy(bullet, 2); //子弹毁灭2秒之后
}
二、再创建个 BulletMove文件//BulletMove文件 是子弹移动文件--赋值给子弹小球,左边创建个球,改名,上色,拖到Asses里
publicfloat speed = 2;
void Update () {
transform.Translate(transform.forward *Time.deltaTime * speed, Space.World);
}
三、Transform维护父子关系创建个TransformParentAndSon文件
父子关系
publicTransform obj1; //cube1--
publicTransform obj2; //cube2
publicTransform obj3; //---设置cube1的干儿子胶囊体和cube2齐名
//6对应的程序
publicTransform obj4;
1.void Start () {
//1.理解
Debug.Log(transform.name); //在Unity面板创建的空对象GameManger 挂载谁身上,对象就是谁,在这里添obj1,obj2;
Debug.Log(obj1.transform.name); //cube1
Debug.Log(obj2.name); //打印出cube2
//2.Sphere下嵌套cube1, cube1 下嵌套cube2 cube2是cube1的子物体
Debug.Log("祖先"+obj2.root); //Sphere
Debug.Log("父亲" + obj2.root); //cube1
//3.设置胶囊体作为cube1的子物体
obj3.parent = obj1;
obj3.SetParent(obj1);
//4.获取游戏对象的子物体的个数
Debug.Log("obj1的儿子有:" + obj1.childCount + "个");
//5.遍历游戏对象的儿子的名字
int count = obj1.childCount;
for (int i = 0; i < count; i++)
{
Transform child = obj1.GetChild(i);
Debug.Log(child.name);
}
//6.分离子物体,只影响一代
obj4.DetachChildren();
}