Unity3D基础19:Tag标签
前文:https://blog.csdn.net/Jaihk662/article/details/86763790(物体查找与控制)
前面已经实现了当小方块在Door里面时,可以用按键控制物体Door的旋转,触发器的代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LRtoDoor : MonoBehaviour
{private Door mydoor;private Transform myTransform;private Rigidbody myRigidbody;void Start(){mydoor = GameObject.Find("Door").GetComponent<Door>();myTransform = gameObject.GetComponent<Transform>(); //获取相应对象的引用myRigidbody = gameObject.GetComponent<Rigidbody>();}void Update(){}void OnTriggerStay(Collider coll){if (coll.gameObject.name=="Cube (3)") //如果方块进入了Door里面{Debug.Log("触发成功,可以用ZX键控制旋转");mydoor.Rotate();}}
}
那么问题又来了:想要设计100个可以触发效果的物体,该怎么办呢?总不可能写100个if语句吧
一、Tag标签
这个时候就需要标签了,也就是给物体分类,只要是这一类的物体都可以触发
GameObject.FindGameObjectsWithTag(string):静态方法,返回一个数组,里面为所有标签为string的物体(GameObject)
触发器代码修改如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LRtoDoor : MonoBehaviour
{private Door mydoor;private GameObject[] p;private Transform myTransform;void Start(){p = GameObject.FindGameObjectsWithTag("Player");mydoor = GameObject.Find("Door").GetComponent<Door>();myTransform = gameObject.GetComponent<Transform>();Debug.Log("标签为Player的物体有:");for (int i = 0; i < p.Length; i++)Debug.Log(p[i].name);}void Update(){}void OnTriggerStay(Collider coll){//暂时可以理解:coll.gameObject.tag和coll.tag一样,上面coll.name一样的道理if (coll.gameObject.tag=="Player") //如果标签为"Player"的方块进入了Door里面{Debug.Log("触发成功,可以用ZX键控制旋转");mydoor.Rotate();}}
}
效果如下:
Unity3D基础19:Tag标签相关推荐
- html标签tag,一些基础的HTML Tag标签
HTML里,比较基础的Tag主要用于标题,段落和分行. 学习HTML最好的方法,就是跟着示例学.为了各位学习的方便,我们准备了一个简单的HTML编辑器,你可以在左边写HTML代码,然后点击上面的按钮, ...
- LEETCODE-刷题个人笔记 Python(1-400)-TAG标签版本(二)
前面一篇由于文字太多,不给编辑,遂此篇出炉 LEETCODE-刷题个人笔记 Python(1-400)-TAG标签版本(一) DFS&BFS (262)200. Number of Islan ...
- C4.5决策树 此博文包含图片 (2011-10-20 23:22:19)转载▼ 标签: 分类树
C4.5决策树 (2011-10-20 23:22:19) 转载▼ 标签: 分类树 决策树 c4.5 机器学习 数据挖掘 分类: 数据挖掘 1. 算法背景介绍 分类树(决策树)是一种十分常用的分类方法 ...
- git常用命令(克隆、分支、tag标签、推送、日志查看,常用命令总结)、将本地代码第一次提交到远程git仓库、过滤掉不提交的内容
1.1 克隆Git代码 $ git clone http://xxxx.git --branch master 为自己的写新项目添加git版本控制,进入项目目录执行以下命令: git init . 2 ...
- Git:tag标签的使用
Git中tag标签的使用 一.什么是tag tag是git版本库的一个标记,指向某个commit的指针. tag主要用于发布版本的管理,一个版本发布之后,我们可以为git打上 v.1.0.1 v.1. ...
- 标签系统mysql设计_关于tag标签系统的实现
实验室的项目,需要做对用户发布的主题进行打标签的功能,纠结甚久,实现思路如下: 一.数据库表的设计 1.tag表 create table qa_tag ( tag_id int primary ke ...
- 关于MP3文件中找不到TAG标签的问题
今天做项目需要上传mp3文件,在postman中测试的时候发现找不到这个mp3文件中的TAG标签 心想着不应该啊,我这是正规音频啊,如果是图片把后缀改成mp3没有TAG是肯定的,但是我这个音频为什么也 ...
- Layui的tag标签
1.页面显示 <!DOCTYPE html> <html> <head><meta charset="utf-8"><titl ...
- Git 之 git tag标签使用
目录 一.简介 二.本地tag操作 1.创建tag标签 (1)创建轻量标签 (2)创建附注标签 2.查看tag标签 (1)查看标签列表 (2)查看标签提交信息 (3)在提交历史中查看标签 3.删除ta ...
最新文章
- 2021年大数据常用语言Scala(二十六):函数式编程 分组 groupBy
- MySQL优化篇:show profile进行SQL分析
- 21.Longest Palindromic Substring(最长回文子串)
- mysql优化varchar索引_MySQL优化--概述以及索引优化分析
- 23种设计模式之访问者模式
- 【Flink】Flink 源码之Buffer Debloating
- MYSQL 单表一对多查询,将多条记录合并成一条记录
- 我从佛学里悟到的自由
- 【VTK】VTK 之一 环境准备
- 为什么要避免大事务以及大事务如何解决?
- 【MySQL】Could not initialize master info structure
- 百度干净云2.0无限速加速破解版(附怎么用教程)
- 自考《离散数学》题型总结
- 计算机桌面的任务栏,屏幕任务栏消失怎么办_电脑屏幕上任务栏不见了的解决方法...
- IsoAlgo3d三维管道软件
- 码云的注册与使用,很简单
- js如何复制一个对象?
- 对角化求可逆矩阵_「线性代数」求可逆矩阵P,使得相似矩阵对角化
- 【Solr】之使用结巴分词模拟搜索商品1
- EDraw 亿图图示设计软件 一款好用的绘制网络拓扑图的软件
热门文章
- python爬虫步骤-Python爬虫详解,每一个步骤都给你细腻的讲解(附源码)
- python安装-在Python中安装包的三种方法
- ble开发 linux_嵌入式开发的必备知识点
- 合成未来宝宝照片_赵丽颖冯绍峰的宝宝会长啥样?网友把两人照片合成,却长得很像她...
- 计算机老师的专业发展怎么写,高职计算机教师专业发展研究
- Android_WakeLock使用
- x264源代码简单分析:宏块编码(Encode)部分
- FFMPEG结构体分析:AVStream
- mysql email能索引吗_10、MySQL索引
- android 今日头条布局,Android今日头条UI适配完善版