
Unity实现通用的显示或隐藏多个物体(同时实现脚本自动创建物体且给创建物体添加脚本自己)
发布日期:2021-05-10 09:22:39
浏览次数:24
分类:精选文章
本文共 2099 字,大约阅读时间需要 6 分钟。
一、搭建场景(随意搭建)
二、创建Tag标签(这里取名为:Tag_SSJ),且添加给需要显示或隐藏的物体
三、编写脚本
①编写通用的隐藏、显示物体脚本CommonHideObj(实现脚本自动创建物体且给创建物体添加脚本自己)
/**** Title:"XXX" 项目* 主题:实现通用的显示、隐藏物体方法* Description:* 功能:XXX* Date:2017* Version:0.1版本* Author:Coffee* Modify Recoder:*/using System.Collections;using System.Collections.Generic;using UnityEngine;namespace Global{ public class CommonHideObj : MonoBehaviour { private static CommonHideObj _Instance; //本脚本实例 public static CommonHideObj GetInstance() { if (_Instance == null) { _Instance = new GameObject("GlobalMgr").AddComponent② 编写实现具体的显示、隐藏脚本ViewControl(); } return _Instance; } /// /// 显示或隐藏所有的物体 /// /// 隐藏的物体数组 /// 是否显示该数组里的物体 public void Hide_AllObject(GameObject[] hideGO, bool IsDisplay) { if (hideGO != null && hideGO.Length >= 1) { foreach (GameObject go in hideGO) { go.SetActive(IsDisplay); } } } }//class_end}
/**** Title:"XXX" 项目* 主题:XXX* Description:* 功能:XXX* Date:2017* Version:0.1版本* Author:Coffee* Modify Recoder:*/using System.Collections;using System.Collections.Generic;using UnityEngine;using Global;namespace SimpleUIFrame{ public class ViewControl : MonoBehaviour { private GameObject[] _HideObj; //隐藏物体组 private void Start() { //获取到所有的墙物体 _HideObj = GameObject.FindGameObjectsWithTag("Tag_SSJ"); } ////// 隐藏物体 /// public void HideObj() { CommonHideObj.GetInstance().Hide_AllObject(_HideObj,false); } ////// 显示物体 /// public void DisplayObj() { CommonHideObj.GetInstance().Hide_AllObject(_HideObj, true); } }//class_end}
三、将 实现具体的显示、隐藏脚本 ViewControl添加给_Scripts,同时给对应的显示、隐藏按钮添加对应显示、隐藏方法
四、运行场景,分别点击对应的按钮,就会显示、隐藏对应的物体
首先点击隐藏按钮,则场景的物体隐藏,同时面板中创建了一个名为GlobalMgr物体,且挂载有CommonHideObj脚本
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月03日 18时19分25秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java _this关键字的用法
2021-05-09
代码荣辱观-以运用风格为荣,以随意编码为耻
2021-05-09
SpringBoot启动原理
2021-05-09
[系列] Go gRPC 调试工具
2021-05-09
django-表单之模型表单渲染(六)
2021-05-09
c++之程序流程控制
2021-05-09
一位年轻而优秀的.NET开发者的成长点滴
2021-05-09
如何使用ABP进行软件开发(1) 基础概览
2021-05-09
第三周总结
2021-05-09
Spark学习之SparkStreaming
2021-05-09
AlwaysOn配置时在连接步骤时报错(35250)
2021-05-09
排序算法之总结
2021-05-09
微软云Linux服务器 Mysql、tomcat远程连接错误解决办法
2021-05-09
Java基础知识回顾之六 ----- IO流
2021-05-09
Python数据分析(二): Numpy技巧 (2/4)
2021-05-09
09 . Python3之常用模块
2021-05-09
Python学习笔记-StatsModels 统计回归(3)模型数据的准备
2021-05-09
Velocity.js初步
2021-05-09
Ubuntu16.04中php如何切换版本
2021-05-09