【发布时间】:2018-11-28 09:23:09
【问题描述】:
我有多个空游戏对象作为生成游戏对象的生成点,如果要测试的条件为真,我希望销毁生成的游戏对象并在同一生成点上实例化一个新对象。
我有 2 个单独的脚本,一个附加在生成点对象上,另一个用于包含条件的游戏管理器。
游戏管理器脚本的条件:
public void checkword()
{
wordBuilded = displayer.text.ToString();
LetterTiles[] tiles = FindObjectsOfType<LetterTiles>();
foreach (LetterTiles item in tiles)
{
if (txtContents.Contains(wordBuilded))
{
if (item.gameObject.CompareTag("clicked"))
{
Destroy(item.gameObject);
FindObjectOfType<letterSpawner>().refresh();
}
}
else
{
if (item.gameObject.CompareTag("clicked"))
item.GetComponent<Button>().interactable = true;
}
}
}
附加到实例化对象的生成点对象的脚本
using UnityEngine;
public class letterSpawner : MonoBehaviour {
public GameObject[] letterTiles;
GameObject tiles;
Vector3 scale = new Vector3(0.8f, 0.8f, 0);
void Start () {
refresh();
}
public void refresh()
{
int rand = Random.Range(0, letterTiles.Length);
tiles = Instantiate(letterTiles[rand], transform.position, Quaternion.identity);
tiles.transform.SetParent(gameObject.transform);
tiles.transform.localScale = scale;
}
}
【问题讨论】:
-
好吧,例如,如果 object1 是被销毁的对象,而 object2 是您从 object1 被销毁的那一点开始创建的对象,那么我建议您将所有详细信息提供给 1 到 2 并且销毁 1 或不销毁其中一个并进行必要的更改以继续前进!
标签: c# visual-studio unity3d