如何从子级向父级引用一个类?

2023-12-15

这可能听起来很愚蠢,但我如何在父级的另一个脚本中引用子级中的一个脚本中的类?我在谷歌上找不到任何东西。注意:我的脚本中有几个错误,这不是本文的重点。

//Public

//Private
private Rigidbody myRigidbody;
private Renderer myRenderer;
private Material tileDefaultMaterial;
private Material tileSelectedMaterial;
private Material tileSameGroupMaterial;

void Start () {
    myRigidbody = GetComponent<Rigidbody> ();
    myRenderer = GetComponent<Renderer> ();
    tileDefaultMaterial = Resources.Load ("TileDefault", typeof(Material)) as Material;
    tileSelectedMaterial = Resources.Load ("TileSelected", typeof(Material)) as Material;
    tileSameGroupMaterial = Resources.Load ("TileSameGroup", typeof(Material)) as Material;
}

void Update () {
    
}

public class TileClass {
    
    public int tileGroup = 0; //Indicates the Tile Group Number.

}

//Public
public GameObject[] allTiles; //Aray of all Tile GameObject.
public bool tileIsSelected = false; //If a Tile is Selected.
public int selectedTileGroup = 0; //Indicates the Selected Tile Group Number.
public int tileGroup = 0; //Indicates the Tile Group Number.



//Private


void Start () {

    allTiles = new GameObject[transform.childCount];
    for(int i = 0; i < transform.childCount; i++){
        allTiles [i] = transform.GetChild (i).gameObject;
    }
}

void Update () {

}

void OnMouseDown (){

    RaycastHit hitInfo = new RaycastHit ();
    bool hit = Physics.Raycast (Camera.main.ScreenPointToRay (Input.mousePosition), out hitInfo);

    if (hitInfo.transform.gameObject.tag == "Tile" && tileIsSelected == false) {
        Debug.Log ("A Tile is Selected!");
        tileIsSelected = true;
        selectedTileGroup = ;
        for(int i = 0; i < allTiles.Length; i++){
            if (this.tileGroup == selectedTileGroup) {
                allTiles [i].GetComponent<Renderer> ().material = tileSameGroupMaterial;
            }
        }
        myRenderer.material = tileSelectedMaterial;
    } else if (hitInfo.transform.gameObject.tag == "Tile" && tileIsSelected == true) {
        Debug.Log ("Second Tile is Clicked! (Should Swap them!)");
        myRenderer.material = tileDefaultMaterial;
    }
}

有一句名言:

var allTiles = transform.GetComponentsInChildren<Tile>();

正如我昨天告诉你的,添加OnMouseDown()在 Tile.cs 中写入myRenderer.material = tileDefaultMaterial;那里。无需在 TileManager.cs 中编写此内容。并且无需使用Raycast使用时OnMouseDown().

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从子级向父级引用一个类? 的相关文章

  • 是否需要销毁运算符删除的形式才能真正销毁对象?

    C 20 添加了破坏形式operator delete区别于std destroying delete t范围 它导致delete表达式在调用之前不再销毁对象operator delete 目的是在显式调用对象的析构函数和释放内存之前 允许
  • C#.Net 邮件将进入垃圾邮件文件夹

    我正在从 ASP net Web 应用程序发送电子邮件 邮件发送成功 没有失败 但大多数都进入了垃圾邮件文件夹 请帮助我克服垃圾邮件过滤器 我的发送邮件代码 public void SendMail string FromAddress s
  • 关于逻辑/算法的想法以及如何防止线程写入 Sql Server 中的竞争

    我有以下逻辑 public void InQueueTable DataTable Table int incomingRows Table Rows Count if incomingRows gt RowsThreshold async
  • 在 C 语言中,为什么数组的地址等于它的值?

    在下面的代码中 指针值和指针地址与预期不同 但数组值和地址则不然 怎么会这样 Output my array 0022FF00 my array 0022FF00 pointer to array 0022FF00 pointer to a
  • 无法继承形状

    为什么我不能使用继承 a 的类Shapes class http msdn microsoft com en us library ms604615 28v vs 90 29 我需要延长Rectangle具有一些方法的类 但我想以与使用相同
  • Boost ASIO 串行写入十六进制值

    我正在使用 ubuntu 通过串行端口与设备进行通信 所有消息都必须是十六进制值 我已经在 Windows 环境中使用白蚁测试了通信设置 并得到了我期望的响应 但在使用 Boost asio 时我无法得到任何响应 以下是我设置串口的方法 b
  • 在 Mono 中反序列化 JSON 数据

    使用 Monodroid 时 是否有一种简单的方法可以将简单的 JSON 字符串反序列化为 NET 对象 System Json 只提供序列化 不提供反序列化 我尝试过的各种第三方库都会导致 Mono Monodroid 出现问题 谢谢 f
  • Selenium - C# - Webdriver - 无法找到元素

    在 C 中使用 selenium 我试图打开浏览器 导航到 Google 并找到文本搜索字段 我尝试下面的 IWebDriver driver new InternetExplorerDriver C driver Navigate GoT
  • 防止控制台应用程序中的内存工作集最小化?

    我想防止控制台应用程序中的内存工作集最小化 在Windows应用程序中 我可以这样做覆盖 SC MINIMIZE 消息 http support microsoft com kb 293215 en us fr 1 但是 如何在控制台应用程
  • Makefile 和 .Mak 文件 + CodeBlocks 和 VStudio

    我对整个 makefile 概念有点陌生 所以我对此有一些疑问 我正在 Linux 中使用 CodeBlocks 创建一个项目 我使用一个名为 cbp2mak 的工具从 CodeBlocks 项目创建一个 make 文件 如果有人知道更好的
  • C# 根据当前日期传递日期时间值

    我正在尝试根据 sql server 中的两个日期获取记录 Select from table where CreatedDate between StartDate and EndDate我通过了5 12 2010 and 5 12 20
  • 让网络摄像头在 OpenCV 中工作

    我正在尝试让我的网络摄像头在 Windows 7 64 位中的 OpenCV 版本 2 2 中捕获视频 但是 我遇到了一些困难 OpenCV 附带的示例二进制文件都无法检测到我的网络摄像头 最近我发现这篇文章表明答案在于重新编译一个文件 o
  • 如何从 Boost.PropertyTree 复制子树

    我有一些boost property tree ptree 我需要树来删除一些具有特定标签名称的元素 例如 xml 表示源ptree如下
  • .NET 和 Mono 之间的开发差异

    我正在研究 Mono 和 NET C 将来当项目开发时我们需要在 Linux 服务器上运行代码 此时我一直在研究 ASP NET MVC 和 Mono 我运行 Ubuntu 发行版 想要开发 Web 应用程序 其他一些开发人员使用 Wind
  • Xamarin Forms Binding - 访问父属性

    我无法访问页面的 ViewModel 属性以便将其绑定到 IsVisible 属性 如果我不设置 BindingContext 我只能绑定它 有没有办法可以在设置 BindingContext 的同时访问页面的 viewmodel root
  • C:设置变量范围内所有位的最有效方法

    让我们来int举个例子 int SetBitWithinRange const unsigned from const unsigned to To be implemented SetBitWithinRange应该返回一个int其中所有
  • winform c# 中的弹出窗口

    我正在开发一个需要弹出窗口的项目 但问题是我还希望能够通过表单设计器在此弹出窗口中添加文本框等 所以基本上我有一个按钮 当您单击它时 它将打开我在表单设计器中设计的另一个窗口 我一直在谷歌搜索 但还没有找到我需要的东西 所以我希望你们能帮助
  • 从后面的代码添加外部 css 文件

    我有一个 CSS 文件 例如 SomeStyle css 我是否可以将此样式表文档从其代码隐藏应用到 aspx 页面 您可以将文字控件添加到标头控件中 Page Header Controls Add new System Web UI L
  • 声明一个负长度的数组

    当创建负长度数组时 C 中会发生什么 例如 int n 35 int testArray n for int i 0 i lt 10 i testArray i i 1 这段代码将编译 并且启用 Wall 时不会出现警告 并且似乎您可以分配
  • 如何在 C# 中获取 CMD/控制台编码

    我需要指定正确的代码页来使用 zip 库打包文件 正如我所见 我需要指定控制台编码 在我的例子中为 866 C Users User gt mode Status for device CON Lines 300 Columns 130 K

随机推荐

  • F5浏览器刷新和回发有区别吗?(asp.NET)

    我正在 asp NET 中现有数据网格的不同行中动态创建拖网格 我生成的数据网格有一列是 TemplateColumn 复选框列 在我的父数据网格中 我有一个带有复选框的模板列 当我选中或取消选中复选框的值时 会调用 check chang
  • Flutter:如何使用变量将参数传递给 Widget?

    这是一些伪代码 显示了我想要实现的目标 Text txt text subtitle false final params subtitle textAlign TextAlign center style TextStyle color
  • 如何检查 css box-shadow 是否受支持(jQuery)?

    我正在创建一个完整的 css 布局 但是 某些浏览器 例如IE6 不支持box shadow 和 webkit box shadow或 moz box shadow 我想检查一下是否不支持 然后添加其他样式 这在 jQuery 中怎么可能呢
  • 在 Heroku 上结合使用 Resque、Puma 和 Scheduler

    在查看了大量指南后 我想确认我的设置 现在我的procfile好像 web bundle exec puma C config puma rb config ru resque TERM CHILD 1 RESQUE TERM TIMEOU
  • 如何恢复用 jQuery 删除的元素?

    如果使用删除元素 notification remove 我们如何将其创建回来 你无法得到那个特定的例子后退 使用 remove 将其从 DOM 中删除 不过 您可以创建它的克隆 在 DOM 中移动它 隐藏它等等 根据您的项目需求 您可能还
  • 读取行时,awk $line

    我有一个包含数字列表的文件 我有第二个文件 每个文件包含各种条目和多个字段 我想要做的是获取第 12 个字段等于第一个数字的所有行 并将它们放入一个新文件中 然后放入第二个数字 依此类推 我写了一句很有道理的俏皮话 但我不明白为什么它行不通
  • Spring 4 静态内容(如 css/js)带来错误 405 不支持请求方法“GET”

    我已经检查过这个问题 但是经过 4 个小时的尝试 没有任何结果对我有用 尝试访问我的 css 文件时收到 405 错误 这是我的 Config java package com myapp config import org springf
  • 如何确保我的 makefile 检测到头文件和 cpp 文件中的更改?

    目前 每当我这样做时make我的 makefile 告诉我 make some obj file o 是最新的 无论我是否编辑了生成该目标文件所涉及的任何文件 我如何让它检测变化 这是一个重现该问题的简单 makefile SHELL bi
  • C# 中的二维数组切片

    我正在寻找在 C 中切片二维数组 我有 double 2 2 价格 想要检索该数组的第二行 我尝试过价格 1 但我有一种感觉 可能是别的东西 提前致谢 没有直接的 切片 操作 但您可以定义如下扩展方法 public static IEnum
  • 扫描仪扫描文档(TIFF 和 PDF)的最佳设置[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 扫描仪的最佳设置是什么 以便扫描文档 白色和黑色文本 并将其用于 OCR 转换 以获得最佳结果 以及 PDF 和 TIFF 格式的标准设置和规范是什么 对于 OCR 最佳扫描设置是
  • Symfony2:未设置记住我令牌

    我按照需要做了一切 但我的 记住我 标记尚未设置 我跟踪代码直到 vendor symfony src Symfony Component Security Http RememberMe TokenBasedRememberMeServi
  • R 中的 ezANOVA 和pairwise.t.test:输出

    我一直在使用 R 运行 ezANOVA 然后进行成对比较 pairwise t test 运行后似乎不包含输出 所以我有以下与此相关的问题 是否有可能在 ezANOVA 中生成均方误差以进行重复测量 如果可以 如何生成 以及如何在pairw
  • 如何设置DataGrid中选定行的颜色

    DataGrid 中选定行的默认背景颜色太暗 我无法读取它 有没有办法覆盖它 试过这个
  • 在文件夹 blog 的同一域中安装 Wordpress 和 Laravel

    我在同一个domain com 上安装了laravel 该网站已启动并运行 我需要在domain com blog 的博客文件夹中安装wordpress 当我尝试安装 WordPress 时 它不允许我运行安装并显示 此网页有重定向循环 我
  • 带引号的注册表值

    我需要将一个值插入批处理文件中的注册表中 该值包含引号 这使得插入变得困难 set OPENCOMMAND JAVAHOME bin javaw exe jar 1 reg add HKEY LOCAL MACHINE SOFTWARE C
  • 如何对未知属性的数据进行建模?

    对需要查询但无法预先完全定义的数据进行建模的好方法是什么 例如 假设我想对有关以下内容的信息进行建模世界各国 每个国家都有一个人口 a flag和一个列表语言 这很容易 但是假设我们还想建模他们的国家棒球队的胜 负记录当然 并非所有国家都有
  • 使用列级标题过滤 Slickgrid 时如何执行部分匹配?

    当使用固定标题行实现列级过滤器时 如何返回部分匹配的单元格 IE 搜索词 omato 退货 自动机 番茄等 在示例中的 MyFilter 下替换此循环 for var columnId in columnFilters if columnI
  • 如何使用该目录的文件描述符在内核级别打开该目录?

    我正在开发一个项目 我必须打开一个目录并在内核级别读取其中的文件 目录 我基本上想找出如何ls是在内核级别实现的 现在我已经弄清楚如何使用以下命令获取目录的文件描述符sys open 和O DIRECTORY flag 但我不知道如何读取收
  • 在运行时用 Java 创建 n 维数组

    我有一个包含数组的字符串 例子 1 2 4 5 7 8 现在 我想用它制作一个实际的 Java 数组 我创建了一个函数来获取维度 并创建了一个递归函数来获取数组的每个元素 因此 我创建了每个一维数组 但我想知道Java中是否有一种方法可以创
  • 如何从子级向父级引用一个类?

    这可能听起来很愚蠢 但我如何在父级的另一个脚本中引用子级中的一个脚本中的类 我在谷歌上找不到任何东西 注意 我的脚本中有几个错误 这不是本文的重点 Public Private private Rigidbody myRigidbody p