Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 25.08.2022
Сообщений: 3
1

Как сделать проверку НЕ нахождения в триггере?

05.09.2022, 11:18. Показов 376. Ответов 3

Author24 — интернет-сервис помощи студентам
У меня есть скрипт, при подхождении к мобу должна начать играть музыка. Это работало нормально, пока я не добавил еще монстров. Тогда когда я подхожу к ним музыка играет, но если я отхожу от одного, но при том нахожусь с другими музыка перестает играть. Пробовал сделать через OnTriggerEnter2D OnTriggerExit2D OnTriggerStay2D, но ничего не получается, если писать с exit, то музыка постоянно начинала играть заново, а мне нужно, чтобы она продолжала играть, даже если я отошёл от одного врага.
Я новичёк
C#
1
2
3
4
5
6
7
 void OnTriggerStay2D(Collider2D other)
    {
        if(other.gameObject.tag == "FIG" && Go.isPlaying == false)
        {
            Go.Play();
        }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2022, 11:18
Ответы с готовыми решениями:

Как сделать проверку на пустую строку и проверку что в слове нет повторяющихся букв
string r; string word; int output; ...

Как сделать на D-триггере вход из динамического в статический
Подскажите пожалуйста, как преобразовать вход clock на D-триггере из входа с положительным фронтом...

А как если что сделать проверку на пустой файл и вывод используемой оперативы/время выполнения? я сделал проверку на пус
"Изначальное задание Написать программу, которая читая последовательность чисел из файла, выводит...

Как организовать проверку нахождения точки в заданной выпуклой области?
Задачка: входные данные - даны координаты точек вершин многоугольника (выпуклой области) и...

3
Сын моей мамы
206 / 140 / 66
Регистрация: 09.05.2020
Сообщений: 733
05.09.2022, 20:57 2
может она не перестаёт играть, а как раз таки играет у монстра к которому ты подошёл раннее, просто ты её не слышишь?
Ты ведь не выключаешь музыку.А в условие твоём сказано, что Go.Play(); будет запускаться только если у тебя в данный момент ничего не проигрывается
попробуй добавить
C#
1
2
3
4
5
6
7
 void OnTriggerExit2D(Collider2D other)
    {
        if(other.gameObject.tag == "FIG")
        {
            Go.Stop();
        }
    }
0
3353 / 1769 / 1025
Регистрация: 26.10.2018
Сообщений: 5,198
06.09.2022, 02:47 3
Добавляй мобов в список по ентеру, а по выходу удаляй, когда в списке будет 0, офай музон.
0
891 / 161 / 84
Регистрация: 30.07.2022
Сообщений: 1,386
Записей в блоге: 4
06.09.2022, 12:16 4
Artemsee, Доброго времени! Переведу сообщение от 1Макса1 =)
При соприкосновении с врагами через метод OnTriggerEnter() добавляем врагов в List<>;
Проверяем если List.Count > 0 играем музыку;
При выходе из коллайдера противника удаляем его из List<>;

Вот пример моей реализации.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/*Unity 2020.3.26f1 personal <DX11>*/
 
using System.Collections.Generic;
using UnityEngine;
 
public class PlayBatеleMusic : MonoBehaviour
{
    private List<GameObject> _enemy = new List<GameObject>();
    private AudioSource _clip;
 
    void Start() =>_clip = GetComponent<AudioSource>();
 
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision != null)
        {
            _enemy.Add(collision.gameObject);
            if(!_clip.isPlaying) _clip.Play();
        }
    }
 
    private void OnTriggerExit2D(Collider2D collision)
    {
        _enemy.Remove(collision.gameObject);
        if (_enemy.Count <= 0) _clip.Pause(); // или _clip.Stop();
    }
}
0
06.09.2022, 12:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.09.2022, 12:16
Помогаю со студенческими работами здесь

Php mysqli как сделать вывод из базы в массив и сделать проверку на сходство
Здравствуйте, подскажите пожалуйста как сделать что-то подобное. Есть база данных В базе таблица...

Как сделать проверку
Здравствуйте.Проблема заключается в след. У меня код устроен так: if ($user) { ...

как сделать проверку?
имеется 2 кнопки ButtonIchDanClick и ButtonProdClick, как сделать условие, а именно пока не нажата...

Как сделать проверку ?
Алгоритм Хаффмана . При при кодировании, если ввожу такую строку &quot;kkkkkkk&quot;, то по идее должно...

Как сделать проверку
Здравствуй, делаю лабку крестики-нолики, написал код, но пару трабл. 1) что-то не могу добавить...

Как сделать проверку
Всем привет. Вот есть проверка на пустоту данных. if((nameVal) &amp;&amp; (msg)){ socket.emit(...

как сделать проверку
мне необходимо сделать такую проверку: Я ввожу текст в Edit и если в папке Saves есть папка с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru