Среда, 24 Апреля 2024, 23:27

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Как сделать удаление префаба, когда создаётся другой? (Проблема с префабами)
Как сделать удаление префаба, когда создаётся другой?
YraivДата: Понедельник, 18 Мая 2020, 08:52 | Сообщение # 1
был не раз
Сейчас нет на сайте
есть код, но он как-то не так работает. Создаётся два префаба. Мне нужно, чтоб был список кнопок на сцене, у каждой кнопки свой номер и она спавнит своего моба из массива префабов. Всё работает, но мобы не удаляются, когда нажимаю на выбор другого, необходимо чтоб лишь 1 мог быть на сцене
Код

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BuyMobs : MonoBehaviour
{
    public GameObject[] Mobs;
    public GameObject Canvas;
    public int MobsNomer;
    private GameObject cyrGameObject;

    public void OnMouseDown()
    {
        if (cyrGameObject != null) Destroy(cyrGameObject);
        cyrGameObject = Instantiate(Mobs[MobsNomer], new Vector3(125, 310, 0), Quaternion.identity);
        cyrGameObject.transform.SetParent(Canvas.transform);
    }

}
freeprogrammerДата: Понедельник, 18 Мая 2020, 10:34 | Сообщение # 2
участник
Сейчас нет на сайте
Что бы удалить объект тебе нужно где то хранить ссылку на него. Сделай на сцене пустой объект с глобальной переменной (менеджер объектов) и храни ссылку там. Это в том случае если у тебя несколько кнопок, если кнопка одна то всё должно работать.

Medieval Checkers , Aeronauts, Funny Animals, KickItUp Soccer Brazil, Dragon Fire & Fury

Сообщение отредактировал freeprogrammer - Понедельник, 18 Мая 2020, 10:35
alec5seiДата: Суббота, 23 Мая 2020, 22:50 | Сообщение # 3
участник
Сейчас нет на сайте
Вот так попробуй.
Код
public GameObject[] Mobs;
    public GameObject Canvas;
    public int MobsNomer;
    private GameObject cyrGameObject;
    private GameObject _curGO;

    public void OnMouseDown()
    {
  if (cyrGameObject != null)
   Destroy (_curGO);
  cyrGameObject = Instantiate (Mobs [MobsNomer], new Vector3 (125, 310, 0), Quaternion.identity);
  cyrGameObject.transform.SetParent (Canvas.transform);
  _curGO = cyrGameObject;
    }




Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Как сделать удаление префаба, когда создаётся другой? (Проблема с префабами)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг