![]() |
Ресайзинг сложного объекта под размер внедряемого текста
Пишу интерфейс на флеше для БД. Нужно информационные отображать сообщения (текст, длина которого заранее не известна) в красивой рамочке с круглыми краями, иконочкой и т.п. Так вот хочется чтобы высота этой самой рамочки вытягивалась без искажения загругленных углов и т.п. пропорционально высоте текста.
Рисовать рамочку чистым скриптом весьма гиморное занятие... Придумал финт ушами: делаю мувик, в первый кадр кладу минимальную по высоте рамку, потом делаю анимашку на 50 кадров с ее растягиванием до максимального размера. А потом вычисляю номер кадра, в котором рамка имеет подходящий размер и делаю на него gotoandstop. Может быть у кого-то возникнут более интересные идеи по реализации этого эффекта? И кстати, никто не подскажет как (лучше статически, но можно и динамически) создавать градиентную,т.е. размытую, тень от объекта, а не просто плоскую тень как в эффекте флеш MX. Всем откликнувшимся, заранее большое СПАСИБО! P.S. Сорри, если что не так, т.к. это мой первый вопрос. P.P.S. Ногами не пинать, 12 страниц мессаг выданных поиском на "растяг*" итп детально изучил. |
Я делал рамочку из 8 частей, скалируя бордеры отдельно
ничего там сложного нет по поводу тени - если взять за основу растровую тень из фотошопа а потом поступатьтак же как с рамкой то все будет ok |
Вложений: 1
Нет, уважаемый, восемь кусочков - это тот еще гимор... собственно чтобы от них избавиться я и решил переехать на флеш (до этого я как раз так и делал картинку в шопе, потом ее на восемь кусочков и в табличку html по ячеечкам, впрочем ситуация была немного сложнее, но неважно, короче если не дай боже придется менять цвет, то надо переделывать все кусочки по новой :((
И тени тоже не хотелось бы оставлять растровыми, во первых размер флешки страдает, и при том это лишний повод лезть в граф. редактор, но если ничего более красивого не придумается может так и поступлю. Пробовал трейсить тени из шопа во флеше, получается какая-то хрень с любыми настройками трейсера, а жаль :(( Еле, пожалуйста извините мне мой несколько критический тон, так или иначе, я искренне благодарю Вас за ответ. P.S. Вот накидал простенький примерчик для своего варианта, кому интересно смотрите код в первом фрейме... |
Да я что - я ничего ;-)
Я ж написал как я делал, и как мне удобнее а не как НАДО каждому свое У меня рамку делает скрипт строчек на 20 по 1 картинке (ну как в XP style) и слайсам Ну да, создается куча мусора, но я вынес в библиотеку это и выкинул с глаз долой кстати все же 8 и 50 это разные вещи. Кроме того в этих 50 теже самые восемь и степень свободы только по вертикале по поводу тени - не поленился и посмотрел сколько это занимает - 772 байта в png. Не думаю что это является существенным увеличением размера. А сделать ее надо только одну на все прямоугольные объекты. ЗЫ рассмотрите вариант SVG, там и с тенями лучше, и рамками тоже |
Цитата:
Про 8 и 50 я что-то не уловил... Ну 8 это кол-во картинок углов и бордеров, а 50? Объекты у меня все сплошь непрямоугольные, так что теней надо будет много :( И вообще я больше люблю решения все в одном, хотя иногда приходится от них отказываться в пользу разделения... А ссылочку можно какую-нить про SVG и с чем его едят, а то поиск на форуме по трехсимвольным словам не пашет :( P.S. Еще раз выражаю Вам свою благодарность за ответ в столь поздний час. |
oftopic start here:
Про SVG можно не отвечать, нашел, почитал, интересная штукенция. Но много но :) Вот что действительно неудобно во Флеше, что нельзя адресоваться к конкретным элементам уже нарисованной картинки, и менять например радиус скругления у уже нарисованного прямоугольника, или что-то в этом роде. end of offtopic |
Вложений: 1
про 50 это я про кадры
я дома не мог исходник посмотреть - дома у меня MX тока стоит с помощью твина конечно гораздо лучше все получилось с непрямоугольными объектами конечно не фонтан... можно конечно флэшовыми средствами тень сделать, но тормозить все будет а слайсы вот тут: |
Про 50 ясно, но кадры твина в свешке места не жрут их можно хоть 300 сделать - весь вопрос лишь в точности подгонки рамки :)
Посмотрел твой пример. Да, ничего не скажешь, красиво, и по универсальности далеко переплевывает мой, но увы, увы я не до такой степени еще разбираюсь в AS, чтобы писать столько кода. Может быть со временем я поднимусь в плане профессионализма, но пока реализация классов в AS мне представляется какой-то извратной по сравнению с тем же ООП в C++ и Java. Про тени родилась но еще до конца не оформилась следующая мысля: Полазил я по каталогам флеша и нашел там файлики отвечающие за эффекты Blur, Dropshadow и др. "C:\Documents and Settings\User\Local Settings\Application Data\Macromedia\Flash MX 2004\en\Configuration\" Вот эти файлы за это собсно и отвечают Blur.jsfl DropShadow.jsfl, и хотя flash может открывать документы с расширением .jsfl эти файлы он открывать отказывается, грит мол фиг я вам их дам редактировать (сволочь!) А всего-то надо эти два скриптика подскрестить малек и всего-то делов, будет клевая размытая тень на любой объект. P.S. Иэх и почему в сутках всего лишь 24 часа :( |
Вложений: 1
Врядли ковsряние этих файлов поможет
раз флэш плэер не умеет рисовать тень, то появится такое умение разве что в ледующей версии пока надо извращаться например так: |
С тенями скриптик неплохой, жаль что форму обрисовки объекта для тени придется делать отдельно и вытряхивать в специальный мув для нее, иначе продублируются все остальные элементы клипа, что не есть гуд.
Кстати, большое количество созданных мувиков не слишком сильно тормозит клип? Я просто как-то остерегаюсь лишний раз создавать мувклип, если можно как-нить обойтись без него. Я просто хотел сделать что-то типа эффекта blur в одном кадре, который в свою очередь базируется на результате эффекта DropShadow. Т.е. хочется писать скрипты для самого flash-редактора, чтобы в этих скриптах все расчитывалось и на сцену в редакторе добавлялись результирующие (обсчитанные) фигуры. |
| Часовой пояс GMT +4, время: 12:59. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.