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”

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

谢谢

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 1192啥意思_拓扑排序怎么排

    1192啥意思_拓扑排序怎么排由于无敌的凡凡在2005年世界英俊帅气男总决选中胜出,Yali Company总经理Mr.Z心情好,决定给每位员工发奖金。公司决定以每个人本年在公司的贡献为标准来计算他们得到奖金的多少。于是Mr.Z下令召开 m 方会谈。每位参加会谈的代表提出了自己的意见:“我认为员工 a 的奖金应该比 b 高!”Mr.Z决定要找出一种奖金方案,满足各位代表的意见,且同时使得总奖金数最少。每位员工奖金最少为100元,且必须是整数。输入格式第一行包含整数 n,m,分别表示公司内员工数以及参会代表数。接下来 m

    2022年8月10日
    3
  • 验证码暴力破解测试[通俗易懂]

    验证码暴力破解测试测试原理和方法找回密码功能模块中通常会将用户凭证(一般为验证码)发送到用户自己才可以看到的手机号或者邮箱中,只要用户不泄露自己的验证码就不会被攻击者利用,但是有些应用程序在验证码发送功能模块中验证码位数及复杂性较弱,也没有对验证码做次数限制而导致验证码可被暴力枚举并修改任意用户密码。在测试验证码是否可以被暴力枚举时,可以先将验证码多次发送给自己的账号,观察验…

    2022年4月11日
    231
  • html 提交form表单提交数据格式,form表单提交数据

    html 提交form表单提交数据格式,form表单提交数据form 表单提交的几种方法 HTML 表单提交的几种方式方式一 通过 submit 按钮提交方式二 通过一般按钮 button 提交 1 3javascript gt functionsubm varform1 document getElementBy form1 form1 action bjpowernode html form1 submit 方式三 通过超链接提交 2 3 通

    2025年11月7日
    3
  • class和getClass()的区别

    class和getClass()的区别前几天做项目,觉得自己都开发一年多了,还没有自己封装的类,感觉真是白做了,再加上,看到自己的代码,我都不忍心看,有的时候,还需要自己去读自己写的代码,乱乱糟糟的,实在不忍心看,没办法,重现在开始吧,把自己需要的,都封装起来,用到什么的时候,在哪来用,方便,快捷首先是自己封装的基类baseActivity,不废话,直接上代码(其他的就不贴出来了,只有这个地方有错误)packagecom.d

    2022年6月15日
    43
  • Springboot单元测试_怎么启动汽车步骤

    Springboot单元测试_怎么启动汽车步骤图文带你debug源码分析SpringApplication准备阶段1、配置文件的加载时机?2、日志系统初始化时机?3、SpringBootprepareContext()源码解析4、SpringBootprepareEnvironment()源码解析

    2025年10月12日
    3
  • printer和typewriter_java类中可以定义类吗

    printer和typewriter_java类中可以定义类吗打印流       字符打印流(针对文本进行操作:PrintWriter)       字节打印流(PrintStream和标准输出流有关系System.out;)   PrintWriter:属于输出流 1)只能写数据(只能针对目的地文件进行操作),不能读数据(不能针对源文件进行操作) 2)可以针对文件直接进行操作  如果一个类中的构造方法里面有File对象或者String类型数…

    2022年8月10日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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