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" ...
随机推荐
- android app与服务器交互
package mydemo.mycom.demo2.service; import org.apache.http.HttpResponse; import org.apache.http.Name ...
- JavaScript之JS单线程|事件循环|事件队列|执行栈
本博文基于知乎"JavaScript作用域问题?"一问,而引起了对JavaScript事件循环和单线程等概念与实践上的研究.深入理解. 一.概念 0.关键词:JavaScript单 ...
- JavaScript之子类构建工具
(function(){ var initializing = false; var superPattern = /xyz/.test(function(){ xyz; }) ? /\b_super ...
- Eclipse通用设置
分类 Eclipse分为64位.32位,安装版.免安装版 查看Eclipse版本信息 Help - About Eclipse - Installation Details
- 2017-2018-2 20155303『网络对抗技术』Exp5:MSF基础应用
2017-2018-2 20155303『网络对抗技术』Exp5:MSF基础应用 --------CONTENTS-------- 一.原理与实践说明 1.实践内容 2.预备知识 3.基础问题 二.实 ...
- SLAM学习资料汇总
转自 http://www.cnblogs.com/wenhust/ 书籍: 1.必读经典 Thrun S, Burgard W, Fox D. <Probabilistic robotic ...
- 【转】#ifdef __cplusplus+extern "C"的用法
时常看到别人的头文件中,有这样的代码: #ifdef __cplusplus extern "C" { #endif //一段代码 #ifdef __cplusplus } #en ...
- java web path
1,request.getRealPath("/");这个方法已不推荐用 2,在Servlet 里用this.getServletContext().getRealPath(&qu ...
- (网络编程)基于tcp(粘包问题) udp协议的套接字通信
import socket 1.通信套接字(1人1句)服务端和1个客户端 2.通信循环(1人多句)服务端和1个客户端 3.通信循环(多人(串行)多句)多个客户端(服务端服务死:1个客户端---&g ...
- 使用NGINX+Openresty和unixhot_waf开源防火墙实现WAF功能
使用NGINX+Openresty实现WAF功能 一.了解WAF1.1 什么是WAF Web应用防护系统(也称:网站应用级入侵防御系统 .英文:Web Application Firewall,简称: ...