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

  • 相关阅读:
    《C语言课程设计与游戏开发实践课程》67章总结
    祖玛(Zuma)
    .net 实现微信公众平台的主动推送信息
    关于ASP与C#的感悟
    不同方面高手的地址。
    ASP中关于全局页面的作用 asax文件
    学习C#,开始了我的第一个进程。
    江苏立方网络科技有限公司招聘PHP工程师
    网上看到的ArcEngine控制地图显示范围的好方法(记下)
    3DS文件结构
  • 原文地址:https://www.cnblogs.com/tanrong/p/6913767.html
Copyright © 2011-2022 走看看