问题标签 [gameobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
49 浏览

arrays - 索引值数组不是从 0 开始

我有 2 个按钮来加载不同的纹理图像,当我按下第一个按钮时,它会在纹理中加载 4 个图像,当我按下第二个按钮时,它会在纹理中加载 3 个图像。但问题是当我按下第一个按钮时它会加载 4 张图像,当我按下第二个按钮时它会加载图像但它从第 5 位开始。当我按下第二个按钮时,我无法将值重置为 0。

当我按下第一个按钮并且克隆值传递到 0。所以,纹理图像正确加载到第 0 位但是当我按下第二个按钮时,克隆值传递到数字 5。所以,纹理图像显示在第 5 位。那么,当我按下第二个按钮时,如何将克隆值重置为 0。所以,我可以很容易地传递到 0。

0 投票
1 回答
1103 浏览

unity3d - 从脚本中找到自己的游戏对象(克隆)

我正在处理一段代码,我在其中实例化 x 数量的 GameObject(预制件)的克隆。有几辆汽车随机生成以模拟交通,然后每个克隆都附加一些脚本;一个来控制它的人工智能,一个来控制碰撞,我想要第三个来摧毁汽车,当它“越界”,或者离游戏太远以至于我们再也看不到它了。

问题是,我不知道如何访问脚本当前附加到的 GameObject。我设法从 OnCollisionEnter2D 中找到与我碰撞的任何游戏对象,但我还没有找到找到“我自己”或“自己”的方法。

我知道我连接了一个刚体 2D,因为我可以在不实例化或添加任何组件的情况下控制汽车。

关于如何删除上述游戏对象(包括刚体2D)并停止/停用所有附加到它的脚本的任何线索?

我想我可以用“Destroy(GameObject)”破坏游戏对象(以及与之相关的所有东西),只是不确定如何正确设置游戏对象。

编辑:此外,知道用于该 GameObject 实例的预制件的名称将非常有益(不同的预制件使用相同的脚本)。

0 投票
1 回答
2530 浏览

unity3d - GameObject.FindGameObjectWithTag 返回(克隆)?

我有这个问题,当我使用它时

当我将动画组件添加到游戏对象时,它就开始了

它的回归

当游戏对象在层次结构中作为唯一带有“红色”标签的游戏​​对象时,它只发生在我添加动画组件之后,当我退出统一并重新启动统一时,问题就消失了,我得到的错误是

MissingComponentException:没有“Rigidbody2D”附加到“红色(克隆)”游戏对象,但脚本正在尝试访问它。

场景中有红色不是红色(克隆),但我在检查器中看到当我使用 GameObject.FindGameObjectWithTag("red") 它发现红色(克隆)但场景中没有红色(克隆)只是红色,它发生在我添加了一个动画组件并在我重新启动 Unity 时停止,它肯定是一个错误,只是想在这里检查 id

编辑 我所说的场景中有一个红色还有一个 RigidBody2d 附加到它,只是不存在红色(克隆),谢谢你的时间

0 投票
1 回答
2294 浏览

unity3d - Raycast 是否仅在脚本位于主摄像机上时才有效?

我想从主摄像机将光线投射作为鼠标(或触摸)工作,当点击并点击一个对象时,它会触发一些东西。我在对象的 update() 中有如下脚本:

这是我从许多教程中看到的非常标准的脚本。但是,它没有命中 Debug 行。

唯一不同的是它是对象的更新,而不是在主相机的脚本 update() 上。它有什么不同吗?

更新脚本中的代码应该属于射出射线的原始游戏对象(或相机)吗?或者它可以在任何游戏对象的附加脚本的 update() 中吗?

我拥有的对象没有任何对撞机,我是否需要在对象上安装一个才能让光线与它发生碰撞?

0 投票
1 回答
520 浏览

unity3d - 复制预制件和游戏对象

我有一个房子的模型,我想重复很多次。如果我将该房屋制作为预制件并复制该预制件,那么它将被视为网格还是只是预制件的克隆,并且不会被视为网格,并且只有一个房屋网格。

如果它被算作网格并且不会减少游戏的大小,那么复制房屋网格并将其制作为预制件和复制该预制件之间有什么区别?

0 投票
1 回答
555 浏览

c# - 实例化 GameObject 的正确方法?

所以我对在 Unity c# 中实例化预制游戏对象的正确方法感到两难。

这是2个示例代码

示例 1:

示例 2:

但是实例化为 Object 也可以,那么哪种方式是正确的方式呢?

0 投票
1 回答
764 浏览

arrays - 将预制件保存到数组

在我的游戏中,玩家应该能够从菜单中选择单位,这些单位将在以后用于(放置)各种场景中。

为此,我想通过代码将单元预制件保存在静态数组中。
然后我想访问这些预制件,以显示它们在附加脚本中声明的一些变量(如名称、电源和缩略图纹理)以显示在 UI 上。稍后,我想将它们实例化到场景中。

到目前为止,我未能将这些预制件保存到阵列中。

我的代码:

从最后一行,我得到这个错误:

那么,我的错误在哪里?我是否忘记了什么或声明错误,或者我的方法一开始就无效(即,无法以这种方式保存/访问预制件;另一种类型的列表更适合此任务)。

0 投票
1 回答
2218 浏览

android - AssetBundle 加载模型未在移动设备中显示

0 我正在从服务器 url 加载 3d 模型并使用assetbundle 但是当我在 unityeditor 中加载模型时它工作正常并且立方体的 3d 模型显示正确。但是当我在 android mobile 中加载模型时,模型没有显示在屏幕上。

0 投票
2 回答
2507 浏览

c# - 在列表中设置活动的游戏对象

我正在为 Android 2d 应用程序制作一个菜单,我在多个菜单中有一堆 UI 面板,当我按下下一个right或上一个left按钮时,脚本应该设置下一个面板处于活动状态并停用前一个面板,我尝试过这样做这与带有游戏对象的公共类一起使用,但这不起作用,并且认为列表应该起作用。

在 Unity 编辑器中,我将大小设置为 4 并将 4 个面板拖到脚本中,但出现此错误:

ArgumentOutOfRangeException:参数超出范围。参数名称:索引

这是脚本的相关部分:

0 投票
1 回答
10820 浏览

unity3d - 如何使游戏对象不可见?

我试图通过代码使 Unity 游戏对象不可见。到目前为止,我已经尝试过(在附加到我想让游戏对象不可见的脚本上):this.renderer.enabled = false this.enabled = false this.gameObject.enabled = false this.gameObject.renderer.enabled = false 在我的玩家脚本上:other.gameObject.enabled = false other.gameObject.renderer.enabled = false 我也尝试过Destroy (other.gameObject),但它没有达到我想要的效果。

谢谢你的帮助

编辑:这是我使用gameObject.SetActive命令的代码

它现在部分有效。但是,如果 BlueFlag 脚本上的 GotBlueFlag bool 为真,它似乎不会注册。如果我使用双“=”符号,它会向我的“True”打印语句发送垃圾邮件。想法?

另一个编辑:(显示 BlueFlag 脚本)