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
Unity3D 中的面向对象设计 {游戏对象(创建、删除、获取),以及添加修改组件}的更多相关文章
- 一步步学习javascript基础篇(5):面向对象设计之对象继承(原型链继承)
上一篇介绍了对象创建的几种基本方式,今天我们看分析下对象的继承. 一.原型链继承 1.通过设置prototype指向“父类”的实例来实现继承. function Obj1() { this.name1 ...
- JS面向对象设计-理解对象
不同于其他面向对象语言(OO,Object-Oriented),JS的ECMAScript没有类的概念, 它把对象定义为"无序属性(基本值.对象.函数)的集合",类似于散列表. 每 ...
- 第四章 python中的面向对象设计
一.首先来理解几个面向对象的关键特性: 1.封装:对象可以将他们的内部状态隐藏起来.python中所有特性都是公开可用的. 2.继承:一个类可以是一个或多个类的子类.python支持多重继承,使用时需 ...
- 在Unity3D中利用 RenderTexture 实现游戏内截图
using System.Collections; using System.Collections.Generic; using System.IO; using UnityEngine; publ ...
- 在nodejs中利用 Proxy监听对象值的获取
1 window = new Proxy(global, { 2 get: function (target, key, receiver) { 3 console.log("window. ...
- JS操作select下拉框动态变动(创建/删除/获取)
1.动态创建select function createSelect(){ var mySelect = document.createElement_x("select"); m ...
- 在WORD2007中添加修改组件
从网上查到这个,但不知道怎么设置选项内容,及如何出现选项.能否详细说明下,谢谢!1).在开始操作前,请先点击窗口左上角的office按钮,打开word选项,在常规窗口中,勾选在功能区显示开发工具选项卡 ...
- Unity3D基础--动态创建和设置游戏对象
转载自原文:http://m.blog.csdn.net/blog/smbroe/43488627 1.如何动态创建对象:调用GameObject的CreatePrimitive方法可以按模型进行创建 ...
- Unity3d获取游戏对象的几种方法
1.GameObject.Find() 通过场景里面的名子或者一个路径直接获取游戏对象. GameObject root = GameObject.Find("GameObject" ...
随机推荐
- hadoop HA 配置 + zookeeper 服务注册
环境测试 6台机器 centos6.7 x64 master ( namenode/cluster ) 10.10.100.101 namenode1 10.10.100.105 namenode2 ...
- js加减法运算多出很多小数点
链接:http://www.jb51.net/article/73043.htm 解决方法:解决这种问题两种方法,第一种就是利用JavaScript 的toFixed(n) 方法,直接获取N 位小数, ...
- retrofit 基础使用
1.先导入依赖 加上网络权限 <uses-permission android:name="android.permission.INTERNET" /> 2.创建接口 ...
- log4j日志日记记录使用教程
注意:每次引入Logger的时候注意引入的jar包,因为有Logger的包太多了...... Logger必须作为类的静态变量使用.原因如下: 1 使用static修饰的属性是归这个类使用的2 也就是 ...
- Modelsim SE 安装
FPGA开发过程中,代码编写完成后,往往是需要通过第三方仿真工具去验证设计功能的正确性.本章介绍最常用的仿真工具--Modelsim SE的安装过程. 1.1.1.Modelsim SE安装 本节主要 ...
- 【转】SSH服务详解
[转]SSH服务详解 第1章 SSH服务 1.1 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Working Gro ...
- ubuntu 安装lightgbm
前提:安装好git.cmake 1. 安装lightgbm git clone --recursive https://github.com/Microsoft/LightGBM 2. 编译 下载好的 ...
- 【Shell】获取当前路径
bathpath=$(cd dirname $0 ; pwd)
- hdfs haadmin命令
HA集群启动后,我们可以通过一些指令来管理HDFS集群."bin/hdfs haadmin -DFSHAAdmin"指令,其可选参数: 1.-transitionToActive ...
- Hacker需要掌握的基础
编译语言:1.C语言能力要求:精通选用教材:<C Primer Plus 中文版(第5版)>其他教材:<标准C程序设计(第3版)><C语言入门经典(原书第3版)>补 ...