Ответы пользователя по тегу Unity
  • Что надо сделать, чтобы триггер срабатывал на частицы?

    DyadyaEmil
    @DyadyaEmil
    Начинающий программист
    Создайте дочерний объект внутри партикла представляющий из себя коллайдер, и задайте ему анимацию имитирующую движение частиц. На соприкосновение с ним и обрабатывайте события. Для производительности лучший вариант, а игрок ничего не заметит.
    Ответ написан
  • Как сделать плавную смену фона (спрайта) на Unity 2D?

    DyadyaEmil
    @DyadyaEmil
    Начинающий программист
    Привет! Всё что тебе нужно, это изменять альфа канал старого спрайта уменьшая его, и тем временем увеличивать альфа канал нового спрайта.
    gameObject.GetComponent<Sprite>().color = new Color(r,g,b,a(альфа канал,вот его и нужно менять))

    Я мог допустить орфографические ошибки в коде, но смысл думаю понятен.
    Что бы найти ответ в гугле,сформулируй вопрос так-"Как изменить альфа канал спрайта в Unity".
    Ещё как вариант, делай так.
    1)Снижай альфаканал спрайта до 0
    2) Проверка: Если альфа канал спрайта = 0, то gameobject.GetComponent().sprite = "новый спрайт";
    3)Увеличиваешь альфа канал спрайта до 1;
    Надеюсь смог тебе помочь)
    Ответ написан
    Комментировать
  • Как реализовать сражение в игре(отследить реакцию на контакт в определённом радиусе по принципу свой-чужой) в 2D игре?

    DyadyaEmil
    @DyadyaEmil Автор вопроса
    Начинающий программист
    Если кому интересная данная тема,то по мере ее решения я выложу подробную инструкцию реализации сюда.

    Обновление:
    Всем кому была так же непонятна эта тема как и мне, рад поделится решением.
    Как отметил "GavriKos", можно работать через колайдеры.
    1)добавить на юнита куб, убрать не нужные мешы.
    2)Добавить ему тэг (если что загуглите).
    3)убрать стандартный бокс колайдер (если делаете 2Д). И выбрать 2Д колайдер, так же отметить его тригером.
    private void OnTriggerEnter2D(Collider2D other)
        {
            if (other.CompareTag("evil")) // проверяем наименование тега,указываем его в скобках. 
            {
                
                Debug.Log("Цель вошла");
            }
        }
        private void OnTriggerExit2D(Collider2D other)
        {
            Debug.Log("Цель вsшла");
        }

    А вот и сам простой скрипт.
    Ответ написан
    Комментировать
  • Почему не работает PlayerPrefs?

    DyadyaEmil
    @DyadyaEmil Автор вопроса
    Начинающий программист
    Для тех,кому окажется это полезным, вот так примерно выглядит скрипт загрузки префсов,который мы помещаем на отдельный игровой объект, активный с самого начала.
    public class Loading : MonoBehaviour {
        public GameObject people;
        public GameObject people_in_golden;
        public GameObject gold;
       
    	// Use this for initialization
    	void Start () {
            
    
            gold.GetComponent<Text>().text = PlayerPrefs.GetFloat("Gold").ToString();
            people_in_golden.GetComponent<Text>().text = PlayerPrefs.GetInt("people_in_golden_int1").ToString();
            people.GetComponent<Text>().text = PlayerPrefs.GetInt("People_how_many1").ToString();
        }
    Ответ написан