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

Создание переключателя

25.03.2018, 20:17. Показов 4029. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Создаю для игры переключатель, который должен срабатывать только тогда, когда персонаж находится в триггере переключателя и нажимает соответствующею кнопку
C#
1
2
3
4
5
6
public void OnTriggerEnter2D(Collider2D other)
    {
        if (other.tag == "Player" && Input.GetButtonDown("Fire2")) {
            Debug.Log("turn");   
        }
    }
Если я уберу "Input.GetButtonDown("Fire2")", то сообщение выводится. Отдельно кнопка тоже не работает, хотя название в скрипте написано верно и кнопка назначена (управление под геймпад х360, если что), тэг объекта указан тоже правильно.
В общем, как лучше осуществить это дело?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2018, 20:17
Ответы с готовыми решениями:

Создание 3х позиционного переключателя WPF
Здравствуйте уважаемые форумчане. Есть потребность, (поставили такую задачу), создать 3х...

Создание переключателя "вкл/вык изображения"
Здравствуйте! Помогите пожалуйста, для версии сайта для слабовидящих нужно сделать функцию...

Настройка переключателя
Как можно правильно построить макрос и запрос для списка на форме"Сортировка", чтоб выводились: 1)...

2 пульта и 2 переключателя
Есть: Одна цифровая линия АТС (два провода), 2 цифровых пульта в двух комнатах. К линии...

5
295 / 244 / 128
Регистрация: 24.12.2014
Сообщений: 708
25.03.2018, 21:36 2
Цитата Сообщение от q1w1 Посмотреть сообщение
В общем, как лучше осуществить это дело?
Если я не ошибаюсь, то отслеживать ввод лучше в методе Update. И я использовал бы метод OnTriggerStay2D для такой цели:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Example : MonoBehavior {
 
   private bool isFire2Active = false;
 
   public void Update() {
        isFire2Active = Input.GetButtonDown( "Fire2" );
   }
 
    // OnTriggerEnter будет срабатывать только 1 раз: когда только вошли в триггер
    public void OnTriggerStay2D( Collider2D other ) {
        if( other.tag == "Player" && isFire2Active ) {
            Debug.Log( "turn" );   
        }
    }
 
}
0
1 / 1 / 1
Регистрация: 20.10.2016
Сообщений: 7
26.03.2018, 19:25  [ТС] 3
До этого делал как и ты, но не работало.
Теперь в методе OnTriggerEnter2D булевая переменная, которая отслеживает нахождение игрока в триггере, а в Update условие на нажатие кнопки и значение той булевой, если оба условия совпадают, то действие срабатывает. Работает как часы теперь)
0
136 / 131 / 43
Регистрация: 07.11.2017
Сообщений: 553
27.03.2018, 09:40 4
Цитата Сообщение от q1w1 Посмотреть сообщение
аботает как часы теперь)
а если выйти из тригера) и нажать кнопку?))
0
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
27.03.2018, 22:23 5
Цитата Сообщение от f3hler Посмотреть сообщение
а если выйти из тригера) и нажать кнопку?))
q1w1, подскажу. Тогда OnTriggerExit2D должен изменить эту bool)
0
136 / 131 / 43
Регистрация: 07.11.2017
Сообщений: 553
28.03.2018, 12:33 6
Цитата Сообщение от q1w1 Посмотреть сообщение
еперь в методе OnTriggerEnter2D булевая переменная, которая отслеживает нахождение игрока в триггере
OnTriggerEnter2D не отслеживает нахождение, она смотрит за вхождением...

Добавлено через 2 часа 56 минут
каждый метод "Чекает" свое состояние обьекта
OnTriggerEnter2D - вхождение
OnTriggerStay2D - нахождение/присутствие
OnTriggerExit2D - выход
1
28.03.2018, 12:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2018, 12:33
Помогаю со студенческими работами здесь

Название переключателя
Вообще вылетело из головы где находится и как нызвается переключатель - его вид листинг со...

3 зависимых переключателя
Используя 3 зависимых переключателя в зависимости от вида конфет определить стоймость 200 гр этих...

Поиск с использованием переключателя
привет ... действительно нужен help от всех вас. Я хочу использовать переключатель для поиска...

Значение по умолчанию переключателя.
Здрасте. На форме есть переключатели, 2 строковых значения. В процедуре "при открытии" одному из...


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

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