Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.05.2014, 20:13
PrincessRoma вне форума Посмотреть профиль Отправить личное сообщение для PrincessRoma Найти все сообщения от PrincessRoma
  № 1  
Ответить с цитированием
PrincessRoma

Регистрация: Jan 2014
Сообщений: 57
Question Панель инструментов со скроллом

Разрабатываю программу-редактор диаграмм, на данный момент появилось большое число возможных символов, блоков и инструментов, которые на панель с кнопочками уже не запихаешь - элементов уже более 40.
Нужно срочно сделать что-то в духе панельки инструментов из визио:
- необходимо чтобы можно было скроллить иконки инструментов
- естественно их выбирать ( при нажатии на иконку переключать номер инструмента внутри программы )
макет желаемого прикрепил в виде рисунка )
Гуглил, но чего-то так ничего и не нашел путного.
Подскажите пожалуйста, как это лучше реализовать, может есть какие-то готовые компоненты, которые помогут?
Изображения
 

Старый 15.05.2014, 20:53
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 2  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
А простой Sprite со scrollRect не подойдёт?
Там слушайте ROLL_OVER, и при этом событии слушайте мышиный скролл, и прокручивайте scrollRect куда захочется.
И, соответственно, убирайте слушатель скролла при ROLL_OUT.
__________________
There is no thing in this world that is not simple.

Старый 15.05.2014, 21:03
TWETTI вне форума Посмотреть профиль Отправить личное сообщение для TWETTI Найти все сообщения от TWETTI
  № 3  
Ответить с цитированием
TWETTI
 
Аватар для TWETTI

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
Я всегда делаю так:

Все кнопки инструментов добавьте в конейнер(Sprite) и задайте ему маску(область которая будет видна). Напишите скроллбар или возьмите готовый и двигайте контейнер с кнопками, когда изменяется положение слайдера.

P.S. Прочитал сообщение SuriTheAngel. Никогда не слышал про scrollRect, и делал без него. Но думаю, что с ним будет удобнее.
Изображения
 

Старый 15.05.2014, 21:49
PrincessRoma вне форума Посмотреть профиль Отправить личное сообщение для PrincessRoma Найти все сообщения от PrincessRoma
  № 4  
Ответить с цитированием
PrincessRoma

Регистрация: Jan 2014
Сообщений: 57
Круто, спасибо). Но есть два вопроса:
1. Как сделать маску ? Можно пример кода небольшой, прям в общих чертах, я пойму. )
2. И где можно найти готовый скроллбар )
P.S. Заранее спасибо огромное

Старый 15.05.2014, 21:57
kotyavo вне форума Посмотреть профиль Отправить личное сообщение для kotyavo Найти все сообщения от kotyavo
  № 5  
Ответить с цитированием
kotyavo

Регистрация: Dec 2013
Сообщений: 49
Маска обычный displayObject спрайт шарп итд.
1 У объекта задаем mask
2 Добавляем маску на холст (displaylist)

Мне больше нравится scrollRect сним удобнее делать слайдеры и прочее вещи.

Старый 15.05.2014, 21:57
TWETTI вне форума Посмотреть профиль Отправить личное сообщение для TWETTI Найти все сообщения от TWETTI
  № 6  
Ответить с цитированием
TWETTI
 
Аватар для TWETTI

Регистрация: Dec 2007
Адрес: Россия, Москва
Сообщений: 541
Отправить сообщение для TWETTI с помощью Skype™
Код AS3:
var maska:Shape = new Shape();
maska.graphics.beginFill(0x000000);
maska.graphics.drawRect(10, 10 , 100, 400);
maska.graphics.endFill();
 
container.mask = maska;
Готовый скроллбар есть в компонентах Flash Professional.

Старый 16.05.2014, 01:09
PrincessRoma вне форума Посмотреть профиль Отправить личное сообщение для PrincessRoma Найти все сообщения от PrincessRoma
  № 7  
Ответить с цитированием
PrincessRoma

Регистрация: Jan 2014
Сообщений: 57
Большое спасибо, люди. ))

Старый 16.05.2014, 12:54
ChuwY вне форума Посмотреть профиль Отправить личное сообщение для ChuwY Посетить домашнюю страницу ChuwY Найти все сообщения от ChuwY
  № 8  
Ответить с цитированием
ChuwY
 
Аватар для ChuwY

Регистрация: Nov 2009
Адрес: Тула / Москва
Сообщений: 734
Отправить сообщение для ChuwY с помощью ICQ Отправить сообщение для ChuwY с помощью Skype™
На самом деле правильнее создать достаточное количество айтем рендереров ( в данном случае, с какими-то данными, стоящими за ней. Надпись, реакция, рисунок).
А по движению скроллбара менять данные в каждой кнопке.
При этом их можно как оставить на месте, так и передвигать вверх-вниз, переставляя уходящую из вида на место приходящей.
Хотя, если элементов не слишком много (один экран), то заморачиваться, может быть, и не стоит.
__________________
9 из 10 голосов в моей голове сказали наркотикам "НЕТ"
Мои ачивки: художник-паразит.

Старый 16.05.2014, 18:31
PrincessRoma вне форума Посмотреть профиль Отправить личное сообщение для PrincessRoma Найти все сообщения от PrincessRoma
  № 9  
Ответить с цитированием
PrincessRoma

Регистрация: Jan 2014
Сообщений: 57
Классное предложение, ChuwY , подумаю, может и так сделаю )

Старый 17.05.2014, 13:43
BornTOFree вне форума Посмотреть профиль Отправить личное сообщение для BornTOFree Найти все сообщения от BornTOFree
  № 10  
Ответить с цитированием
BornTOFree

Регистрация: Oct 2010
Сообщений: 85
ChuwY действительно предложил классное решение. Но, как кнопка узнает, что пора сменить данные, непонятно.

Создать новую тему Ответ Часовой пояс GMT +4, время: 05:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 05:12.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.