Slog53_Unity3D之功能脚本_FindOtherGameObjects_找到场景内除自己外的其他GameObject

Slog53_Unity3D之功能脚本_FindOtherGameObjects_找到场景内除自己外的其他GameObject

  • ArthurSlog
  • SLog-53
  • Year·1
  • Guangzhou·China
  • Aug 29th 2018

关注微信公众号“ArthurSlog”

职业、技术、机遇、权谋、人脉 还有一个 叫 时间


开发环境MacOS(High Sierra 10.13.5)

需要的信息和信息源:

开始编码

  • 更新后的完整代码:

unity3d_script_c#/FindOtherGameobjects.cs

/// <summary>
/// 2018.8.29
/// Function: Find other gameobjects.
///
/// Unity3D_2017.3.1f1
///
/// README: Please mount a emptyGameObject, then add a button and 
/// the button add a clieck event, drag the emptyGameObject
/// to the button's click's event
/// </summary>

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
using UnityEngine.SceneManagement;

public class FindOtherGameobjects : MonoBehaviour {

    Scene current_scene;
    GameObject[] objs;

    void Start()
    {
        current_scene = SceneManager.GetActiveScene ();
    }

    public void FindOtherobj()
    {
        if(current_scene.IsValid())
        {
            objs = current_scene.GetRootGameObjects ();

            foreach (GameObject obj in objs)
            {
                if (obj.name != this.name)
                {
                    Debug.Log ("Active scene have '" + obj.name + "'.");
                }
            }
        }
    }
}
  • 首先声明一个 Scene对象,当调用脚本的时候,获取当前 Scene对象
  • 再声明一个 GameObject数组 对象 objs,用来存放当前 Scene里 的所有 GameObject
  • 遍历所有的 GameObject,加入判断,当 Scene里的 GameObject 的name属性不等于自身的时候,执行指定的逻辑
  • 我们在这里的指定逻辑是

unity3d_script_c#/FindOtherGameobjects.cs

Debug.Log ("Active scene have '" + obj.name + "'.");
  • 这样,我们就打印出了除了自身外,其他 GameObject的 name属性了
  • 如果要对自身外的其他 GameObject进行一些操作,更新下面的这行代码就行了:

unity3d_script_c#/FindOtherGameobjects.cs

Debug.Log ("Active scene have '" + obj.name + "'.");
  • 至此,我们实现了 unity3d 找到场景内除自己外的其他GameObject 的功能。

欢迎关注我的微信公众号 ArthurSlog

关注微信公众号“ArthurSlog”

如果你喜欢我的文章 欢迎点赞 留言

谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/101436.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • loadrunner 11 激活成功教程

    loadrunner 11 激活成功教程安装好loadrunner11后1)退出程序,把下载文件中的lm70.dll和mlr5lprg.dll覆盖掉..\HP\LoadRunner\bin下的这两个文件2)注意,win7的话一定要以管理员身份运行启动程序,启动后,点击configuration-&gt;loadrunnerlicense,此时可能会有两个许可证信息存在,退出程序,点击deletelicense.e…

  • 计算机管理找不到指定模块,卸载时找不到指定模块怎么办_电脑卸载找不到指定模块处理方法-win7之家…

    计算机管理找不到指定模块,卸载时找不到指定模块怎么办_电脑卸载找不到指定模块处理方法-win7之家…我们在使用电脑的过程中,对于系统中安装的大不多数软件有些是不需要,因此就需要卸载掉,以此保证电脑的内存充足,但是近日有的用户发现自己的电脑在卸载软件时总是会有找不到指定模块的提示,那么卸载时找不到指定模块怎么办呢?下面小编就来告诉大家电脑卸载找不到指定模块处理方法。具体方法:方法1:电脑清理法1、打开电脑安装的安全软件(这里以360为例),点击“电脑清理”。2、进入后找到“清理注册表”这项,然后在…

  • 思维导图——快速掌握子网划分(实例详解)

    思维导图——快速掌握子网划分(实例详解)目录一、子网划分的作用二、IP地址的组成三、IPV4地址四、IP地址的分类五、如何计算网络号六、地址规划6.1子网数概念6.2求地址网络可分为几段6.3CIDR:把若干网络合并成一个网段6.4例题实战七、思维导图及总结一、子网划分的作用作用一:计算网络号,通过网络号选择正确的网络设备连接终端设备1.清楚IP地址四段点分十进制数和子网掩码,对应的网络号是什么2.交换机是用来连接相同网段的设备,路由器是用来连接不同网段的设备。网络号一…

  • 前端游戏巨制! CSS居然可以做3D游戏了

    前端游戏巨制! CSS居然可以做3D游戏了前言偶然接触到CSS的3D属性,就萌生了一种做3D游戏的想法.了解过css3D属性的同学应该都了解过perspective、perspective-origin、transform-st…

  • url转二维码[通俗易懂]

    url转二维码[通俗易懂]前端简单实现页面路径转化为二维码

  • 大疆网上测评题库_大疆在线测评 – 逻辑题「建议收藏」

    大疆网上测评题库_大疆在线测评 – 逻辑题「建议收藏」收到大疆测评的邮件,在知乎百度搜了一圈也没搜到题目,只好直接去测评了。我的测评是90道题,其中逻辑题挺烧脑,出现了6道逻辑题,幸好之前看过逻辑学三段论,都能答对。2-7是我测评中出现的题,一模一样,今后是否一样就不能确保了,仅供参考。1.所有的老虎会动;一些动物是老虎;因此,一些动物会动。参考解:True2.所有的宗教狂热分子都偏执;所有偏执的人都是种族主义者;因此,所有的种族主义者都是宗教狂…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号