Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/25: Рейтинг темы: голосов - 25, средняя оценка - 4.76
 Аватар для Kotofeyich
5 / 5 / 1
Регистрация: 02.12.2014
Сообщений: 62

Взаимодействие скрипта триггера со скриптом персонажа

18.07.2015, 22:30. Показов 5082. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется сцена StrategyLike, на которой могут находиться несколько Плееров, в их скриптах есть инт переменная, отвечающаа за команду, за которую играет этот персонаж, и флоат переменная с хп. Имеется зона, в простонародии "Фонтан", соответственно есть триггер. В скрипте фонтана тоже прописана Team. Так вот, фонтан должен проверять принадлежность к команде Персонажа, входящего в его триггер, и соответственно действовала на его ХП.
Простите, если некорректно описал ситуацию.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.07.2015, 22:30
Ответы с готовыми решениями:

Взаимодействие персонажа с врагом (исключение отталкивание персонажем врага)
Персонаж отталкивает врага при столкновении с ним .И там и там стоят коллайдеры, понятно не триггеры.Как убрать этот эффект?Нужно что бы...

Редактирование скриптом скрипта
Доброго времени суток, уважаемые Гуры. Помогите срочно, пожалуйста, очень нужно. Подскажите, если код скрипта есть в теге скрипта, то всё...

Написание скрипта для перемещения персонажа в Unity
Доброго времени суток! Решил начать изучение движка Unity, с оф сайта скачал, версия Unity 2017.4.0f1. Начал создавать платформер и...

6
103 / 90 / 19
Регистрация: 15.04.2015
Сообщений: 353
19.07.2015, 12:34
OnTriggerEnter (или OnTriggerStay), в него передается параметр Collider, в котором находится инфа о объекте, вызвавшем событие (зайдя в триггер), можете получить из него ваш скрипт игрока через GetComponent
1
 Аватар для Kotofeyich
5 / 5 / 1
Регистрация: 02.12.2014
Сообщений: 62
19.07.2015, 13:33  [ТС]
А можешь написать скрипт этот, я представляю, но пока не знаю как написать Дело в том, что из всего описанного мной текста меня интересует только взаимодействие скриптов, как юзать триггер я знаю.

Добавлено через 7 минут
C#
1
2
3
4
5
6
void OnTriggerStay(Collider unit){
        if (unit.tag == "Player") {
            unit = GetComponent<Navigation>();//Навигация - скрипт плееров, содержит информацию о команде, хп и т.д.
 
        }
    }
0
103 / 90 / 19
Регистрация: 15.04.2015
Сообщений: 353
19.07.2015, 13:38
Цитата Сообщение от Kotofeyich Посмотреть сообщение
Дело в том, что из всего описанного мной текста меня интересует только взаимодействие скриптов, как юзать триггер я знаю.
C#
1
unit = GetComponent<Navigation>()
Вот же взаимодействие скриптов. В твоем unit должны быть указанные тобой переменные.
1
 Аватар для Kotofeyich
5 / 5 / 1
Регистрация: 02.12.2014
Сообщений: 62
19.07.2015, 14:14  [ТС]
Когда пишу "unit." в подсказках не высвечиваются ни переменные из этого скрипта, ни функции. Игнорирую, пишу - подсвечивает красным.
В консоль пишет, что нельзя конвертировать Навигейшн в ЮнитиЕнжин.Коллайдер, ну и естевственно что он не может найти метод из Навигейшна, который я написал.
0
103 / 90 / 19
Регистрация: 15.04.2015
Сообщений: 353
20.07.2015, 16:30
Лучший ответ Сообщение было отмечено Kotofeyich как решение

Решение

Только заметил. У вас
C#
1
2
3
4
5
6
void OnTriggerStay(Collider unit){
        if (unit.tag == "Player") {
            unit = GetComponent<Navigation>();//Навигация - скрипт плееров, содержит информацию о команде, хп и т.д.
 
        }
    }
То есть, unit - параметр типа Collider. И вы зачем-то делаете unit = GetComponent<Navigation>(), то есть, пытаетесь присвоить параметру типа Collider компонент Navigation, который еще и получаете со скрипта самого фонтана, не говоря уже о том, что менять значение параметра возможно, только если он объявлен с Ref. Простите, но это очень глупо.
Вам нужно взять новую переменную, отвечающую за Navigation, а сам компонент доставать из unit.
C#
1
var unitNav = unit.transform.GetComponent<Navigation>();
И уже после этого, у вашего unitNav будут необходимые поля.
1
 Аватар для Kotofeyich
5 / 5 / 1
Регистрация: 02.12.2014
Сообщений: 62
20.07.2015, 23:37  [ТС]
Да, сделал, поля есть, но ничего не происходит. Хрень какая-то, ничего не понимаю. Даже на всякий случай проверку на плеера убрал.

Добавлено через 24 минуты
Стоп, я только что обнаружил, что не работает триггер! Я посылаю плеера в триггер фонтана, в котором прописан дестрой объектов, входящих в триггер, и ничего не произошло!

Добавлено через 44 минуты
Ну, кароче все работает, спасибо. Но пока тему не закрыл, консоль пишет NullReferenceException на строку, где я использую поле другого скрипта, тем не менее, все функционирует.

Добавлено через 32 минуты
Все, решил проблему, спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.07.2015, 23:37
Помогаю со студенческими работами здесь

Можно ли скриптом прервать выполнение другого скрипта?
&lt;script src=&quot;script-1&quot;&gt;&lt;/script&gt; &lt;script src=&quot;script-2&quot;&gt;&lt;/script&gt; Можно ли скриптом script-2 остановить работу script-1 или его...

Скриптом забрать ответ другого скрипта на другом сервере
В данном случае, нужно пнуть в требуемом направлении... ЕСТЬ: - Комп А, на нам апч+пхп и на нем же - Скрипт А С другой...

Взаимодействие php скрипта и c# приложения
Есть с# приложение с текстовым полем. Есть скрипт, который запускается с этого приложения через php.exe. Как можно из скрипта...

Взаимодействие с объектами скрипта который ни к чему не прикреплен
На сцене есть тайлмап, в котором есть префабы тайлов, но в начале самой сцены они еще на нее не помещены. Есть скрипт, который по...

Взаимодействие скрипта AutoIt с EXE-файлом, созданным в C++ Builder
Подскажите, идея такая: есть файл программки, созданной в билдере, в формате *.exe При запуске появляется форма, в которой надпись, объект...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru