首页 > 解决方案 > 相对于另一个游戏对象的位置、宽度和长度产生游戏对象?

问题描述

我目前正在使用 C# 在 Unity 中开发游戏,但遇到了一个小问题。
我需要产生一个gameobjects相对于Spawnposition另一个游戏对象的长度和长度的特定值。
现在我认为这bounds.size将是在这种情况下使用的最佳功能。
如下所示,我首先声明了在我的 start 方法中使用它的变量:

public void Start()
{

 GameObject PointBar = (GameObject) Resources.Load("PointBar Horizontal");
 PointBarVectorLength = PointBar.GetComponent<BoxCollider2D>().bounds.size.x;
 PointBarVectorConv = Camera.main.WorldToViewportPoint(new Vector2(PointBarVectorLength, 0f));

}

但是,有gameobjects问题的在开始调用时是不活动的,因此我认为调用时不会返回任何值bounds.size

有谁知道我如何访问bounds.size或等效的非活动gameobject或我在这里缺少其他东西?

标签: c#unity3dvectorgame-enginegame-development

解决方案


我通过使用 GetComponent().bounds.size.x 解决了这个问题;而不是 BoxCollider。当游戏对象不活动时,可以访问此组件。


推荐阅读