unity自带的方法

就像我们定义的方法名一样。在哪里调用。Unity  MonoBehaviour  脚本文件默认集成的类名,他做了一些设置能识别某些方法。就像tostring()一样。 MonoBehaviour 里面也有一些他能识别的方法名。

UNITY 中系统由自身调用几个比较重要的方法

Update()  正常更新,用于更新逻辑。此方法每帧都会系统调用一次。

LATEUPDTE()  推迟更新,此方法在Update()方法执行完毕后调用,同样每一帧都调用。

Awake()  脚本唤醒 ,此方法为系统执行的第一个方法。用于脚本的初始化,在脚本的生命周期中只执行一次。

FIXEDUpdate()  固定更新  在UNITY导航菜单栏中点击 EDIT→ProjectSetting→Time 菜单项后,右侧的属性面版 其中FIXED Timestep更新频率为0.02s。

Start()  方法 在AWAKE()后面在UPDATE()前面执行。只执行一次
ONDESTROY() 当前脚本销毁时的调用。

 

ONGUI() 绘制界面。同样每帧都在调用

 

  void Awake()

    {

        print("Awake" + Time.time);

    }

 // Use this for initialization

 void Start () {

        print("Start" + Time.time);

 }

 

 // Update is called once per frame

 void Update () {

        print("update" + Time.time);

 }

 

    void LateUpdate()

    {

        print("LateUpdate"+Time.time);

    }

 

    void FixedUpdate()

    {

        print("FixedUpdate" + Time.time);

    

    }

 

    void OnDestroy()

    {

        print("OnDestroy" + Time.time);

    }

 

    void OnGUI()

    {

        print("OnGUI" + Time.time);

    }

 

创建游戏对象

 

创建Cube 的代码

 

//GameObject.CreatePrimitive() 创建基本对象的代码 参数枚举  基本对象

        CubeObj =GameObject.CreatePrimitive(PrimitiveType.Cube);

       //给此对象 添加刚体,用于物理感应。

        CubeObj.AddComponent<Rigidbody>();

        //设置这个游戏对象的名称

        CubeObj.name = "CubeXX";

        //设置此模型的材质的颜色 游戏中设置头发的颜色,就可以用下面的代码实现

        CubeObj.renderer.material.color =Color.yellow;

        //设置模型的位置。

        CubeObj.transform.position = new Vector3(1f, 1f, 1f);
 

1GameObject.CreatePrimitive()  创建游戏初始对象,参数可为立方体,球体,圆柱体。

2. ADDCOMPENT<类型>() 用于给该对象 添加组件

3renderer.material.color   可设置对象材质球的颜色。

4. transform.position  设置对象的位置。

 

 

克隆一个对象

 

       INSTANTIATE() 需要三个参数   第一个 为克隆的对象,第二个参数为位置,第三个参数位置为角度。


 

销毁对象以及 销毁对象多少时间后

 

DESTROY (对象)   立即销毁对象

 

DESTROY(对象,多少时间销毁)

 

        Object AttackClone = Instantiate(AttackObj, new Vector3(1, 1, Random.Range(1, 5)), transform.rotation);

        Destroy(AttackClone, Time.deltaTime);

获取对象的基本三种方式(其他的还有很多)

 

GameObject.Find();  通过对象名查找对象,可以有父级 CUBE/CUBE1  /这里就是指子级。
 

 GameObject.FindWithTag(); 通过标签 查找单个对象多个的话就取第一个创建的对象

 

GameObject.FindGameObjectsWithTag() 通过标签获取多个对象 。比如某个区域怪物的数量。

 

     // Destroy(GameObject.Find("Cube/Capsule"), 2f);

 

        Destroy(GameObject.FindWithTag("MyTag"));

 

       ObjList= GameObject.FindGameObjectsWithTag("MyTag");

       foreach (GameObject item in ObjList)

       {

           item.name = Random.Range(1f, 5f).ToString();

       }

 

父类子类,对象体之间的方法调用

 

•gameObject.SendMessageUpwards(“DesObject”, “销毁”),像父类或自身发送方法和信息参数。只要父类或者自身有方法都会调用。问题来了,有多个父类呢也会调用
 
•gameObject.BroadcastMessage(“DesObject”, “销毁”);向子类或者自身发送方法消息参数。多个子类也一样。

 

 

•gameObject.SendMessage (“DesObject”, “销毁”);像自身发送消息。
 
 
用程序设置位置角度,以及长度

 

        SphereObj.transform.position = new Vector3(-3, 2, -3);
        SphereObj.transform.localEulerAngles = new Vector3(5f, 6f, 7f);
        SphereObj.transform.localScale = new Vector3(5f, 6f, 7f);
 
 
•gameObject.transform.Rotate()   设置对象方向,和速度。
•gameObject.transform.RotateAround() 三个参数,围绕对象的位置,旋转方向 ,速度。
 
gameObject.transform.Rotate(Vector3.right, Time.deltaTime * 5);
   gameObject.transform.RotateAround(CubeT.position, Vector3.up, 1f);
三维坐标方向
•Vector3.right: x轴方向
•Vector3.up  Y轴方向
•Vector3.foward Z轴方向。
posted @ 2015-04-16 20:12  SeaBrea  阅读(722)  评论(0编辑  收藏  举报