我在一个空的GameObject上获得了数组元素,我的意思是SerializeField并通过脚本(C# Ofcourse)添加它们,所以当游戏开始时,对象并不在那里--它们是生成的。我如何将对撞机从空的GameObject克隆到克隆上,以便使它们可点击?到目前为止,只有第一部作品,巫婆也是空的GameObject谁有科利德,现在,我需要他们的克隆,以及……但是,...How?
我试着把对撞机应用到精灵身上,我甚至试着把它们变成预制板--这完全是无望的。我确实认为它必须在脚本上,但我找不到它的代码示例.
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);
        }
   }
}我需要能够点击这些元素,让它们在我点击和消失时发出声音.
发布于 2019-06-29 08:14:12
我想出了解决办法..。
@ BugFinder我已经删除了“鼠标向下”的函数,并将其粘贴到一个分离的脚本上,并将其应用于所有的预制板,而另一个带有所有其他函数的脚本则保留在游戏对象上。所以到目前为止,这似乎很有效.
https://stackoverflow.com/questions/56768100
复制相似问题