Удаление клона префаба
У меня проблемка, пишу Флеппи берд, и хочу, что бъекты, которые остались сзади удалялись, написал такой скрипт:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class destoyer : MonoBehaviour
{
public GameObject Tube;
void Update()
{
if (GameObject.Find(name).transform.position.x - GameObject.Find("bird").transform.position.x < -20) Destroy(this);;
}
}
Но удаляется не один конкретный клон, а сразу все.
Ответы (1 шт):
Автор решения: Yaroslav
→ Ссылка
public class BlockManager : MonoBehaviour {
[SerializeField] private GameObject _blockTemplate;
private List<Transform> _blocks;
private void Awake () {
_blocks = new List<Transform>();
}
private void Update () {
foreach (Transform block in _blocks)
if (block.localPosition.x < xxx) {
Destroy(block.gameObject);
_blocks.Remove(block);
break;
}
}
public void Spawn () {
GameObject NewBlock = Instantiate(_blockTemplate);
_blocks.Add(NewBlock.transform);
}
}