【问题标题】:(Unity) How can I programmatically make Array Elements Clickable?(Unity) 如何以编程方式使数组元素可点击?
【发布时间】:2019-06-26 08:07:34
【问题描述】:

我有数组元素,我将它们放在一个空游戏对象上,我的意思是 [SerializeField] 并通过脚本添加(当然是 C#),所以这些对象并不是真正存在的,它们是在游戏开始时生成的。如何将 Empty GameObject 中的 Collider 克隆到克隆上以使其可点击?到目前为止,只有第一个有效的女巫也是空的 GameObject 的位置,上面有 colider 现在我也需要将它们放到克隆上......但是,......如何?

我尝试将碰撞器应用到精灵上,我什至尝试将它们变成预制件,这一切都毫无希望。我确实认为它必须在脚本上,但我找不到它的代码示例....

public class Controll : MonoBehaviour {
public const int gridRows = 6;
public const int gridCols = 6;
public const float offsetX = 1.70f;
public const float offsetY = 0.97f;

[SerializeField] private GameObject[] cardBack;
[SerializeField] private GameObject[] positioner;

public AudioSource sound;

public void OnMouseDown()
{

    if (Input.GetMouseButtonDown(0))
    {
        sound.Play();
    }
}

//AudioSource audioSource;



// Use this for initialization
void Start ()
{
   // audioSource = GetComponent<AudioSource>();

    Vector3 startPos = positioner[0].transform.position;
    for (int i = 0; i < gridRows; i++)

    {
        for (int j = 0; j < gridCols; j++)
        {

            var position = transform.position + new Vector3(offsetX * j, offsetY * i * -1, -0.1f);
            Instantiate(cardBack[i], position, Quaternion.identity, transform);
        }
   }
}

我需要能够点击这些元素,以便当我点击并消失时它们会播放声音......

【问题讨论】:

  • 怎么样?我提到我试过了,但没有希望......如果......如果......我没有得到任何代码示例,那么我不知道如何......
  • 用所有东西、碰撞器、脚本等设置预制件,然后它与碰撞器一起使用。这里没有足够的人告诉你什么是错的,所以这里不是为你一步一步地写一个如何。
  • 这不是女巫会做的事。 1.)我很久以前尝试过 2.)只有在播放模式运行期间才有克隆女巫,否则它将不存在 3.)@BugFinder 有多少人可以提供帮助并不重要,重要的是几乎每个人都像我一样有更多的经验,一定有人对此有答案............因为每个有经验的 Unity 用户都必须处理这个问题
  • 好吧..脚本和碰撞器可以并且确实经常在预制件上进行设置..您可以在运行时添加组件,但当然您已经阅读并尝试过..但如果它有效对于 1 项而不是其余项,那么您需要弄清楚为什么不这样做.. 该数组特别不应该与实际的游戏对象无关

标签: c# arrays unity3d element gameobject


【解决方案1】:

我想出了一个解决办法...

@错误查找器 我已经剪掉了“鼠标按下”的功能,并将其粘贴到仅具有该功能的单独脚本上,并将其应用于所有预制件,而具有所有其他功能的其他脚本保留在游戏对象上。到目前为止,这似乎运作良好.....

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-09
    • 2019-04-11
    • 1970-01-01
    • 2010-10-22
    • 2021-06-20
    • 2011-07-15
    • 2015-01-04
    相关资源
    最近更新 更多