问题标签 [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.
c# - GUI 文本重叠
您好,下面是当我的角色移动并且 2 个或更多对象进入 raycast 的视野时的代码,GUI 元素与它们的名称重叠。我尝试了许多 GUI 选项但没有成功,请告诉我什么是正确的方法。
}
unity3d - 使用 Sprite.Create 更改精灵不生效?
我正在制作类似我的世界的 2D 游戏,除了在一块中更改块纹理之外,一切似乎都很好。这就是我尝试更改精灵的方式:
它没有任何效果,为什么?
PS 我使用 UnityScript/JavaScript。
提前致谢!
unity3d - 使用 AddForce 以错误方式射出的子弹
我是一个团结的初学者,所以现在我正在从事像蠕虫游戏这样的回合制游戏。但由于某种原因,我的攻击脚本仅适用于左侧单元,而不适用于右侧单元。具体来说,当我为右侧的子弹射击时,我实例化的子弹走错了方向,但它们对左侧的子弹完全按照预期工作。我对字符按钮有单独的脚本,但我对项目符号使用相同的脚本。
项目符号脚本
字符脚本
gameObject go 是子弹的预制件
}
unity3d - CreateEmptyPrefab 不在 meshRenderer 上保留纹理
我正在动态创建一个预制件并尝试在子游戏对象上设置一堆属性。其中一个属性是纹理,尽管纹理确实显示为预制件的子项(与 GameObject 和 Mesh 一样),但 GameObject 上的 MeshRenderer 仍然没有显示任何材质,并且整个网格显示为粉红色。这是我的代码:
我如何让纹理显示在网格上,所以它不仅仅是粉红色的?
c# - 应该遵循另一个游戏对象位置的脚本的问题
我目前对我制作的脚本有一点问题。基本上,我想创建一个脚本,使其游戏对象(我们将其命名为 A)并遵循另一个游戏对象(命名为 B)的位置。我知道一个简单的方法是将 A 到 B 的父级,但我没有这样做有两个原因:1)我希望能够对 A 的运动应用平滑(我可以改变其值);2) 我希望能够让 A 随心所欲地跟随 B 的位置和/或旋转。
这是我写的脚本:
我希望代码易于理解,如果不能随意询问。无论如何,一旦我将此脚本附加到 A 并将其m_GameObjectToFollow
属性分配给 B(B 是角色控制器的父级,并且我将球体渲染器作为 A 的父级,因此我可以查看它是否正确遵循 B),我注意到 A 是确实跟随 B,但我看到它的位置(通过球体渲染器)在“正确”位置(B)和另一个位置之间“波动”。从视觉上看,球体在闪烁。我尝试将平滑值设置为 1(即 A 应始终位于 B 的位置/旋转)。我仍然看到闪烁。
有人可以向我解释我做错了什么吗?
编辑:似乎我使用 Lerp 的最后一个值是错误的。我修改了脚本以使用速度值而不是平滑值,但当我尝试创建一些平滑运动(速度值较低)时仍然存在同样的问题。我无法正确解释问题。了解问题的最佳方式是亲自体验: 1) 创建一个包含地形和角色控制器的场景;2)将主摄像机作为控制器的父级(以便它始终跟随它);3) 使用渲染器(例如球体)创建一个新的游戏对象,而不是任何其他游戏对象的父级,但将以下脚本附加到它:
使用 System.Collections;
公共类 FollowGameObject:MonoBehaviour {
}
其中:m_GameObjectToFollow = 角色控制器 GameObject;
m_FollowPosition = 真;
m_PositionFollowSpeed = 10;
(其他参数值对本次测试无关紧要)
现在开始场景并移动角色控制器,我会看到球体在运动过程中闪烁,但如果你停止移动,它会顺利转到控制器。
c# - 在运行时添加 GameObject
这似乎是一个愚蠢的问题,但我坚持下去。我在列表 ( List<GameObject>
) 中有 GameObjects,我想将它们添加到场景运行时,最好是在预定义的位置(如占位符或其他东西)。什么是这样做的好方法?我一直在网上搜索,但找不到任何可以解决这个问题的方法。到目前为止,这是我的代码:
如何将图片 (5) 放置在预定义的位置?
编辑:现在我可以将 1 个图像放置到占位符(透明 png)。由于某种原因,z 值无处不在,因此需要强制为 -1f,但这没关系。我将其他场景的图像添加到列表中,其中可以有 1-5 个。我需要将占位符放在另一个列表或数组中吗?我在这里有点迷路了。
unity3d - 更改附加到许多游戏对象的脚本中的变量?
我一直试图在我的 Unity 2D 游戏中实现这一点,但无法让它工作。在挖掘 API 时,我看到了这个Object.FindObjectsOfType.html,但在我的情况下如何使用它?我有一个名为“InventoryHandler”的 JS/UnityScript 脚本,它被添加到由其他脚本生成的许多游戏对象中,如何更改所有游戏对象中的变量“selectedBlock”(来自 InventoryHandler)?
抱歉没有代码示例,但我什至不知道从哪里开始,有什么建议或示例吗?
编辑:代码:
c# - Unity:访问非静态成员需要对象引用 - Ray cast to GameObject
我正在制作一款 RTS 风格的游戏,但我遇到了一个错误。我正在尝试将当前选定的单元(脚本所在的对象)发送到光线投射命中的对象的 Playmaker FSM。我意识到你不能在静态函数中访问游戏对象和转换,所以我尝试调用另一个函数来使用命中并填充游戏对象变量。
这是错误:
我认为的主要问题在这里:
这是整个脚本:
提前致谢!=)
c# - NullReferenceException in FindGameObjectWithTag
I've a panel in my scene (ErrorMessage), I've been disabled it in the editor and writed this in my C# script:
The script should enable (show) my ErrorMessage
if getUsernameResponse
have a different response of "Login OK".. but when I start the liveDemo I see this error:
NullReferenceException: Object reference not set to an instance of an object) in row:41 (ErrorMessage.SetActive(true);)
I've tried to enable the ErrorMessage
from the editor and disable with
in my source and it works fine, how can I disable ErrorMessage
(UI.Panel) from my script?
Thanks for support.
unity3d - unity 3D:未使用预制件检测 OnTriggerEnter
我有一个预制件,它在 Z 轴上移动,想要在它到达作为触发器的对撞机时将其销毁(是的,我检查了对撞机上的 Is Trigger 框)。
我直接从 Unity 文档中编写了这段代码: https ://docs.unity3d.com/ScriptReference/Collider.OnTriggerEnter.html
我的预制件有以下脚本:
我的对撞机忽略了光线投射(碰撞或触发在场景视图中视觉上发生)。预制件绕过我的对撞机/触发器并继续无穷大。