前文: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标签相关推荐

  1. html标签tag,一些基础的HTML Tag标签

    HTML里,比较基础的Tag主要用于标题,段落和分行. 学习HTML最好的方法,就是跟着示例学.为了各位学习的方便,我们准备了一个简单的HTML编辑器,你可以在左边写HTML代码,然后点击上面的按钮, ...

  2. LEETCODE-刷题个人笔记 Python(1-400)-TAG标签版本(二)

    前面一篇由于文字太多,不给编辑,遂此篇出炉 LEETCODE-刷题个人笔记 Python(1-400)-TAG标签版本(一) DFS&BFS (262)200. Number of Islan ...

  3. C4.5决策树 此博文包含图片 (2011-10-20 23:22:19)转载▼ 标签: 分类树

    C4.5决策树 (2011-10-20 23:22:19) 转载▼ 标签: 分类树 决策树 c4.5 机器学习 数据挖掘 分类: 数据挖掘 1. 算法背景介绍 分类树(决策树)是一种十分常用的分类方法 ...

  4. git常用命令(克隆、分支、tag标签、推送、日志查看,常用命令总结)、将本地代码第一次提交到远程git仓库、过滤掉不提交的内容

    1.1 克隆Git代码 $ git clone http://xxxx.git --branch master 为自己的写新项目添加git版本控制,进入项目目录执行以下命令: git init . 2 ...

  5. Git:tag标签的使用

    Git中tag标签的使用 一.什么是tag tag是git版本库的一个标记,指向某个commit的指针. tag主要用于发布版本的管理,一个版本发布之后,我们可以为git打上 v.1.0.1 v.1. ...

  6. 标签系统mysql设计_关于tag标签系统的实现

    实验室的项目,需要做对用户发布的主题进行打标签的功能,纠结甚久,实现思路如下: 一.数据库表的设计 1.tag表 create table qa_tag ( tag_id int primary ke ...

  7. 关于MP3文件中找不到TAG标签的问题

    今天做项目需要上传mp3文件,在postman中测试的时候发现找不到这个mp3文件中的TAG标签 心想着不应该啊,我这是正规音频啊,如果是图片把后缀改成mp3没有TAG是肯定的,但是我这个音频为什么也 ...

  8. Layui的tag标签

    1.页面显示 <!DOCTYPE html> <html> <head><meta charset="utf-8"><titl ...

  9. Git 之 git tag标签使用

    目录 一.简介 二.本地tag操作 1.创建tag标签 (1)创建轻量标签 (2)创建附注标签 2.查看tag标签 (1)查看标签列表 (2)查看标签提交信息 (3)在提交历史中查看标签 3.删除ta ...

最新文章

  1. 2021年大数据常用语言Scala(二十六):函数式编程 分组 groupBy
  2. MySQL优化篇:show profile进行SQL分析
  3. 21.Longest Palindromic Substring(最长回文子串)
  4. mysql优化varchar索引_MySQL优化--概述以及索引优化分析
  5. 23种设计模式之访问者模式
  6. 【Flink】Flink 源码之Buffer Debloating
  7. MYSQL 单表一对多查询,将多条记录合并成一条记录
  8. 我从佛学里悟到的自由
  9. 【VTK】VTK 之一 环境准备
  10. 为什么要避免大事务以及大事务如何解决?
  11. 【MySQL】Could not initialize master info structure
  12. 百度干净云2.0无限速加速破解版(附怎么用教程)
  13. 自考《离散数学》题型总结
  14. 计算机桌面的任务栏,屏幕任务栏消失怎么办_电脑屏幕上任务栏不见了的解决方法...
  15. IsoAlgo3d三维管道软件
  16. 码云的注册与使用,很简单
  17. js如何复制一个对象?
  18. 对角化求可逆矩阵_「线性代数」求可逆矩阵P,使得相似矩阵对角化
  19. 【Solr】之使用结巴分词模拟搜索商品1
  20. EDraw 亿图图示设计软件 一款好用的绘制网络拓扑图的软件

热门文章

  1. python爬虫步骤-Python爬虫详解,每一个步骤都给你细腻的讲解(附源码)
  2. python安装-在Python中安装包的三种方法
  3. ble开发 linux_嵌入式开发的必备知识点
  4. 合成未来宝宝照片_赵丽颖冯绍峰的宝宝会长啥样?网友把两人照片合成,却长得很像她...
  5. 计算机老师的专业发展怎么写,高职计算机教师专业发展研究
  6. Android_WakeLock使用
  7. x264源代码简单分析:宏块编码(Encode)部分
  8. FFMPEG结构体分析:AVStream
  9. mysql email能索引吗_10、MySQL索引
  10. android 今日头条布局,Android今日头条UI适配完善版