zoukankan      html  css  js  c++  java
  • Unity3D 中的面向对象设计 {游戏对象(创建、删除、获取),以及添加修改组件}

    一、创建游戏对象

      游戏对象分三种:(1) 将物体模型等资源由Project工程面板拖拽到Hierarchy层次面板中 (2) 由GameObject菜单创建Unity自带的游戏对象,如Cube、Camera、Light等 (3) 利用脚本动态创建或删除游戏对象

      动态创建方式:

      (1)使用CreatePrimitive方法创建游戏对象

      (2)使用Instantiate实例化产生游戏对象 Instantiate(Object, position, rotation)

    二、删除游戏对象

      Destroy(gameobject);

      Destroy(this);

      Destroy(rigidbody);

      Destroy(gameObject, 5); //延迟5秒

    三、获取游戏对象

    1、通过场景里面的名子或者一个路径直接获取游戏对象
      GameObject go = GameObject.Find(“GameObject”);
      GameObject go = GameObject.Find(“GameObject/Cube”);

    2、通过Tag 获取单个游戏对象
      GameObject.FindWithTag(“tag”)

    3、通过Tag 获取多组游戏对象
      GameObject.FindGameObjectsWithTag(“tag”)

    四、添加和修改组件

      GameObject.AddComponent(className:string)

      GameObject.GetComponent(type:Type)   

      eg:

      monsterTr = this.GetComponent<Transform>();   

      anim = this.GetComponent<Animator>();

      nav = this.GetComponent<NavMeshAgent>();

      playerTr = GameObject.FindWithTag("Player").GetComponent<Transform>();

    五、发送广播与消息

      GameObject.SendMessage: 发送消息

      GameObject.BroadcastMessage:广播消息

      GameObject.SendMessageUpwards:向上发送消息

    参考链接:

      《Unity5.X游戏开发技术与实例》P63

       Unity3d获取游戏对象的几种方法:http://blog.csdn.net/aiwuzhi12/article/details/54895859

  • 相关阅读:
    写代码时减少bug的八种方式
    ObjectiveC中对Url的参数进行编码
    iPhone中预览文档的三种方式
    GUID和INT两种数据类型做主键的比较
    通过FxCop来验证.NET编码规范
    一位程序员的一个LBS应用的想法
    iPhone中XML处理以及网络上的图片显示
    iOS开发之iPhone通过get和post方式请求asp.net webservice
    iOS开发之将XML转换成树
    objectivec内存管理基础
  • 原文地址:https://www.cnblogs.com/tanrong/p/6913767.html
Copyright © 2011-2022 走看看