![]() |
Как создавать колесо типа рулетки?
Требуется создать компонент, который представляет из себя круг разделенный на сектора. Каждый сектор должен быть отдельным элементом, т. к. он взаимодействует с другим Flex компонентом (шарик) например через hitTest, имеет свой цвет и текст направленный по радиусу (иногда и иконкой/картинкой). Все это должно создаваться из XML-данных (каждый итем это отдельный сектор с цветом, надписью (иногда и иконкой/картинкой) и разными свойствами сектора).
Посоветуйте, как лучше все организовать и может быть есть примеры? |
у тебя если шарик будет между полями останавливаться то хиттест будет срабатывать для 2-х полей... я бы посоветовал не делать так сложно, а нарисовать одну картинку с полем и вычислять положение шарика математически через atan2
|
Цитата:
Вот нашел два примера: http://www.kirupa.com/forum/showthre...ing-pie-slices http://deviltechie.wordpress.com/201...sing-flex-as3/ По сути они одинаковы, но в первом случае образуются какие-то сегменты, т. е. окружность становится не плавной, становится угловатой и этот эффект на каждом секторе увеличивается. А второй пример выдает вообще странную ошибку: 1084: Syntax error: expecting rightparen before theta. Код AS3:
Добавлено через 4 минуты Мне вот сейчас пришла идея. А что если использовать флексовский компонент Pie Chart, я как-то использовал его для кругового таймера. Вот как регистрировать соприкосновения шарика и секторов в этом случае? |
не проще считать в градусах сколько шарик пролетел?
|
Цитата:
Вот у меня компонент - окружность разбитая на сектора. Как можно математически определить находится ли в текущем кадре шарик над сектором? А если учесть, что окружность должна ещё и вращаться. Мне кажется хиттест проще. |
находишь угол между центром рулетки и шариком (с помощью atan2), потом находишь угол на который повернулось колесо рулетки и определяешь в каком секторе находится шарик... но если ты считаешь все секторы которые пересекает шарик, то конечно банальное сравнение координат через хиттест, проще чем арктангенс =)
|
Цитата:
|
по поводу рисования
http://flasher.ru/forum/showpost.php...21&postcount=8 |
вот еще один пример создания на флеше вращающегося колеса, на мой взгляд удобного с точки зрения юзабилити, надеюсь пригодится.
|
Возвращаясь к вопросу.
С секторами получилось отлично. Теперь хочу позиционировать текстовые поля также как спицы рулеточного колеса - ровно посредине каждого сектора, а получается все криво. Или надписи не отцентрованы по секторам или вообще пропадает половина. Вот скрин: [IMG]http://*************/clip/m0/1335111274-clip-59kb.jpg[/IMG] Класс сектора: Код AS3:
Код AS3:
|
А не проще было сектора рисовать неповернутыми, и спокойно размещать в них текст?
А потом уже составлять колесо, поворачивая сектора? Добавлено через 4 минуты NB Нулевой аркан Таро The Fool – "Глупец", но никак не Joker – "Шут". |
Вложений: 1
Цитата:
Цитата:
|
| Часовой пояс GMT +4, время: 12:05. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.