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

Заменить управление с Input.GetKey на UI кнопку

20.09.2020, 23:41. Показов 2321. Ответов 7

Студворк — интернет-сервис помощи студентам
Новичок в программировании, В Unity 2D создаю раннер и написал скрипт для приседания (изменение боксколлайдера)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void CrouchControl (bool isNado) // присед
{
        if (isNado && !isCrouch)
        {
            isCrouch = true;
            bc.offset = new Vector2(bc.offset.x, bc.offset.y - bc.size.y * (1 - koefCrouch) / 2);
            bc.size = new Vector2(bc.size.x,koefCrouch*bc.size.y);
        }
        else if (!isNado && isCrouch)
        {
            isCrouch = false;
            bc.offset = new Vector2(bc.offset.x, bc.offset.y + (bc.size.y /koefCrouch -bc.size.y) / 2);
            bc.size = new Vector2(bc.size.x, bc.size.y/koefCrouch);
        }
}
Далее создал скрипт для управления через GetKey который считывал нажатие:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
[RequireComponent (typeof(PlayerController))]
public class UserControl : MonoBehaviour
{
   
    private PlayerController pc;
    // Start is called before the first frame update
    void Start()
    {
        pc = GetComponent<PlayerController> ();
    }
 
    // Update is called once per frame
    public void Update()
    {
        pc.CrouchControl (Input.GetKey(KeyCode.V));
    }
    
}
Никак не могу заменить управление на UI Button
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.09.2020, 23:41
Ответы с готовыми решениями:

Не могу заставить работать Input.GetKey
Не могу заставить скрипт работать: using UnityEngine; using System.Collections; public class Food : MonoBehaviour { public...

Кнопку управление input number вне самого поля ввода
Возможно ли разместить кнопки управления вне поля ввода?

Как можно поменять кнопку <input type=file> для выбора файла или заменить на image?
Как можно поменять кнопку &lt;input type=file&gt; для выбора файла или заменить на image?

7
304 / 211 / 96
Регистрация: 04.07.2012
Сообщений: 903
21.09.2020, 00:00
А в чем проблема?
Нажимаете +
Перетягиваете Объект, на котором висит скрипт, где описан метод public void CrouchControl, в выпадающем списке выбираете
CrouchControl(bool), ставите галочку в чек боксе.

Вариант проще: Удаляете все упоминания о переменной isNado, выбираете метод CrouchControl() и не придется ставить галочку.
0
7 / 6 / 1
Регистрация: 13.08.2019
Сообщений: 203
21.09.2020, 00:16
А ещё, желательно нормально оформлять код.
0
0 / 0 / 0
Регистрация: 20.09.2020
Сообщений: 3
21.09.2020, 00:17  [ТС]
не могли бы вы более подробно описать второй способ? просто как уже писал выше я чайник , нужно просто удалить все строки с IsNado?
0
304 / 211 / 96
Регистрация: 04.07.2012
Сообщений: 903
21.09.2020, 02:28
Crocodorr, простите, но вы не показывали кода с IsNado, так что я знать не могу что у Вас там.
Если же вы имеете ввиду bool isNado, который на текущий момент принимает у Вас true когда нажата "V", то я думаю что Вам стоит почитать справочник. https://metanit.com/sharp/tutorial/1.5.php достаточно второй главы. Так как судя по всему вы в принципе не понимаете, что у Вас написано в коде, а следовательно либо я или кто-то другой с форума сделает всю работу за Вас, либо не факт что-то получится вообще.
Без обид, но помочь и сделать работу за другого - разные вещи. Второе должно оплачиваться. Прямо в теме пишете пост, что ищите, того кто сделает за вознаграждение, и модератор перемещает тему в соответствующий раздел.
1
0 / 0 / 0
Регистрация: 20.09.2020
Сообщений: 3
21.09.2020, 13:25  [ТС]
Спасибо, воспользуюсь вашим советом
0
 Аватар для samana
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
22.09.2020, 16:55
Цитата Сообщение от Erdinger Посмотреть сообщение
Перетягиваете Объект, на котором висит скрипт, где описан метод public void CrouchControl, в выпадающем списке выбираете
CrouchControl(bool), ставите галочку в чек боксе.
Вариант проще: Удаляете все упоминания о переменной isNado, выбираете метод CrouchControl() и не придется ставить галочку.
Erdinger, Но тогда нет возможности "выключить" приседание. Поэтому здесь нужно ловить и отжимание кнопки, чтобы прекратить приседать.
0
304 / 211 / 96
Регистрация: 04.07.2012
Сообщений: 903
22.09.2020, 19:03
samana, согласен, не подумал.
Ок, добавляем EventTrigger и два эвента, один на нажатие с isNado = true, второй на отпускание isNado = false. Тогда и код можно не трогать.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.09.2020, 19:03
Помогаю со студенческими работами здесь

Как заменить управление игры с клавиатуры на управление пальцем с мобильного устройства?
Здравствуйте, мне необходимо заменить управление игрой с клавиатуры на сенсорное управление. Игра 2048, код есть, игра работает в браузере,...

Считать с файла (input.txt) строку, заменить в строке латинские буквы на русские, записать файл (input.txt) эту строку
Считать с файла (input.txt) строку, заменить в строке латинские буквы на русские, записать файл (input.txt) эту строку.

Нажатие на кнопку INPUT средствами JS
Что я делаю не так? По логике кнопка должна нажиматься при нажатии на Дублирующую кнопку. &lt;form method=&quot;post&quot;...

Добавить input при клике на кнопку
Здравствуйте ! Скажите пожалуйста, как при клике на кнопку добавить текстовое поле, а при обратном клике скрыть его ?

PHPExcel - почему сохраняет кнопку (input)?
Здравствуйте, дорогие форумчане:). Вывожу данные из БД в табличном виде:rtfm:. Сохраняю эти данные с помощью PHPExcel при нажатии на...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru