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

Выдвигаемое меню

29.04.2018, 00:45. Показов 13631. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа, прошу помощи! Мне нужно сделать простенькое выдвигаемое меню, как во многих приложения. Провёл пальцем со стороны в строну, меню вылезло. В интернете подобных уроков, видеоуроков и вообще любой информации не нашёл. Пытался использовать scroll rect, но до меня не доходит, как блокировать движение меню.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.04.2018, 00:45
Ответы с готовыми решениями:

Выдвигаемое меню
Хочу сделать выдвигаемое меню как в приложении Youtube для android. Не подскажете куда копать? Или пример какой-нибудь

Боковое выдвигаемое меню сдвигает рабочую область
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Something that...

Работа с меню. При клике на кнопке меню или вне его, меню должно закрываться
Добрый вечер! Изучаю JQuery. Вот ради развития решил написать меню, практически такое же как на Хабре. Два дня ломаю голову над тем, как...

15
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
29.04.2018, 12:27
Надо ловить свайп и ручками вытаскивать из-за экрана.
0
0 / 0 / 0
Регистрация: 29.03.2018
Сообщений: 13
29.04.2018, 20:56  [ТС]
Cr0c, поподробнее можно?
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
30.04.2018, 07:19
WaRnInGoD, то есть сразу готовый код писать?
0
0 / 0 / 0
Регистрация: 29.03.2018
Сообщений: 13
30.04.2018, 10:37  [ТС]
Можно, но я думаю что это сложно. Ну всё таки, если есть хоть какая нибудь информация (текстовая, графическая и т.д.) то скиньте мне её, буду благодарен.
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
30.04.2018, 11:38
Лучший ответ Сообщение было отмечено WaRnInGoD как решение

Решение

Цитата Сообщение от WaRnInGoD Посмотреть сообщение
Мне нужно сделать простенькое выдвигаемое меню, как во многих приложения. Провёл пальцем со стороны в строну, меню вылезло.
1) На канвасе создаем панель. Сдвигаем панель так, что бы она не была видна, привязываем якоря к левому краю:



2) Создаем следующий скрипт и вешаем его на панель:

MenuController
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
28
29
30
31
32
33
34
35
36
37
38
using UnityEngine;
 
public class MenuController : MonoBehaviour
{
    public float moveSpeed = 600;
 
    private Vector2 startPos;
    private Vector2 target;
 
    void Start ()
    {
        var tr = transform as RectTransform;
        target = tr.anchoredPosition;
    }
 
    void Update ()
    {
        var tr = transform as RectTransform;
        tr.anchoredPosition = Vector2.MoveTowards(tr.anchoredPosition, target, moveSpeed * Time.deltaTime);
 
        if (Input.touchCount > 0) 
        {             
            Touch touch = Input.touches[0];
 
            switch (touch.phase)                 
            {                 
                case TouchPhase.Began: startPos = touch.position; break;
                case TouchPhase.Moved:
                    //swipe horizontal?
                    if (touch.position.x - startPos.x > 20)
                        target = new Vector2(tr.sizeDelta.x / 2, tr.anchoredPosition.y);//show menu
                    if (touch.position.x - startPos.x < -20)
                        target = new Vector2(-tr.sizeDelta.x / 2, tr.anchoredPosition.y);//hide menu
                    break;
            }
        }
    }
}


Результат - меню выдвигается и задвигается по свайпу.
Вложения
Тип файла: zip Test9.zip (2.40 Мб, 140 просмотров)
3
0 / 0 / 0
Регистрация: 29.03.2018
Сообщений: 13
30.04.2018, 19:25  [ТС]
Storm23, ОГРОМНОЕ спасибо!

Добавлено через 25 минут
Storm23, либо что-то не так, но у меня свап не работает... При открытии проекта, написал что у меня другая версия Unity.
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
30.04.2018, 20:21
Я писал корутину с (transform, startPos, endPos, time) и запускал её для анимации.
Можно по дельте тача выдвигать меню - так отзывчивей.
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
30.04.2018, 21:07
Цитата Сообщение от WaRnInGoD Посмотреть сообщение
либо что-то не так, но у меня свап не работает... При открытии проекта, написал что у меня другая версия Unity.
Код 100% рабочий. От версии Unity это не зависит.
но у меня свап не работает
Надеюсь вы его на смартфоне тестируете? От мышки свайп не работает.
0
82 / 78 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
30.04.2018, 21:27
Cr0c, так можно же просто задать анимацию в Animation, там и всякие выкрутасы можно сделать, это же не колесо, можно сделать и без кода.

но скорее всего он хочет что бы меню было привязано к пальцу, то есть так же как и двигается рабочая панель на смартфонах, тогда нужно запомнить момент нажатия, а потом от него выравнивать канвас
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
01.05.2018, 02:12
k0vpack, одну анимацию на разные (в том числе по размеру) элементы ставить неудобно.

Добавлено через 1 минуту
Но можно сделать статик метод для анимации и его вызывать, а метод будет сам ставить за экран и выдвигать на родную позицию.
0
82 / 78 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
01.05.2018, 20:10
Cr0c, а если двигать Canvav то есть родитель, все же тоже будет двигаться, или нет?
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
01.05.2018, 21:55
k0vpack, Зачем канвас, когда элементы на панели?
0
82 / 78 / 34
Регистрация: 13.02.2018
Сообщений: 1,347
01.05.2018, 21:57
Cr0c, я имел ввиде панель, ошибся из-за того что как раз делал канвас, просто двигать другую панель по верх этой и все, как я уже говорил, лучше сделать
Цитата Сообщение от k0vpack Посмотреть сообщение
но скорее всего он хочет что бы меню было привязано к пальцу, то есть так же как и двигается рабочая панель на смартфонах, тогда нужно запомнить момент нажатия, а потом от него выравнивать панель
0
 Аватар для Cr0c
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
01.05.2018, 23:56
k0vpack, touch.deltaPosition есть, не надо хранить начало нажатия.
0
0 / 0 / 0
Регистрация: 16.08.2021
Сообщений: 1
16.08.2021, 23:57
класс) спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.08.2021, 23:57
Помогаю со студенческими работами здесь

Как добавить выплывающее меню к уже готовому горизонтальному меню (не меняя дизайн горизонтального меню)?
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt; &lt;html...

Раскрывающееся меню - при открытии/закрытии вложенного меню закрывается все меню
Проблема во вложенном меню. При открытии/закрытии вложенного меню закрывается все меню. Надо, чтобы главное меню не реагировало на клики во...

Добавить меню к итему меню, который уже находится в главном меню
Как можно программно добавить подменю к итему меню, который находится в главном меню? Чтобы выглядело это как-то наподобие того, что на...

Horizontal_multilevel шаблон меню. Первый и последний элемент вложенного меню отличаются
Доброго времени суток! Редактируя шаблон меню horizontal_multilevel, столкнулась с проблемой: как сделать так, чтобы пункты Вложенного...

Выпадающее меню - разный размер шрифта для разных уровней меню
Есть у меня данный список, но возник вопрос: &quot;как сделать чтобы в надписи буквы1 был шрифт 19px, а в выпадающем меню был шрифт 16px&quot; ...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru