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

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

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

Регистрация: Jan 2007
Сообщений: 213
По умолчанию Подгрузка нескольких svg во флеш с помощью deng

Здравствуйте
Такая задача
Есть карта во флеше, на ней нужно отобразить некие обьекты в виде полигонов. И нужно сделать хинты(всплывающие окна) на эти полигоны.
Полигоны отрисованы в svg.

При загрузке одного обьекта в качестве парсера я использовала deng

Можно ли использовать его, если обьектов много?
Т.е. я хочу все эти полигоны поместить в отдельные svg и загрузить их в отдельные мувиклипы, и уже во флеш обрабатывать наведение мыши на них

для одного обьекта делаем так
Код:
container.loadMovie("deng.swf")
а потом
Код:
deng = container.deng_mc;
deng.setDocumentUri(путь к svg документу);
deng.render();
А если обьектов много, и я хочу грузить их в разные контенеры (container1, container2, ...)
Получается надо в каждый container загрузить этот deng.swf, чтоб потом в container.deng_mc (deng_mc - это клип deng.swf) загрузить svg
Не повлияет ли это на производительность?

А может можно как-то по-другому все это делать?
Посоветуйте, как, чтоб не делать через то самое место


Последний раз редактировалось JaLav; 25.02.2008 в 15:42.
Старый 25.02.2008, 18:22
JaLav вне форума Посмотреть профиль Отправить личное сообщение для JaLav Посетить домашнюю страницу JaLav Найти все сообщения от JaLav
  № 2  
Ответить с цитированием
JaLav

Регистрация: Jan 2007
Сообщений: 213
уже планы поменялись
svg обьекты не будут грузится отдельно т.к. их много
Будут передаваться все одним svg файлом

Но теперь проблема реализовать наведение на них
инфу для всплывающего окна по каждому обьекту хотят передавать тоже в svg

Нужен пропарсить svg, выделить 1 обьект, отрисовать его, вытянуть его инфу, потом второй, третий и т.д.

Я вот думаю..
Может есть где-то или у кого-то несложый понятный парсер

Старый 26.02.2008, 06:17
WindWalker вне форума Посмотреть профиль Отправить личное сообщение для WindWalker Найти все сообщения от WindWalker
  № 3  
Ответить с цитированием
WindWalker
[+1 18.03.08]

Регистрация: Nov 2006
Сообщений: 223
Я использовал (не по собственной воле) вот библиотечку svgtoflash:
http://www.flash-creations.com/notes...svgtoflash.php
http://www.flash-creations.com/downl...s&f=svgtoflash

Правда, работает не очень шустро. Я бы даже сказал довольно медленно
(что неудивительно, ведь ей надо сперва распарсить довольно дурацкий svg-ешный path, преобразовать кубические кривые безье в квадратичные, а затем ещё отрисовать всё это хозяйство).

Но в принципе, она может быть использована в твоём случае, при условии, что каждый объект будет прописан в отдельном теге path.

Меня же быстродействие в конце концов не устроило и я сделал "финт ушами" (однако на это в сумме ушла почти неделя).
Я преобразовал svg в swf!
Правда, моя преобразовывалка слишком специфичная для моей задачи, поэтому выложить её не могу, да она и не поможет.

Просто раскажу суть.
Вобщем, отдельная флешка с помощью указанной выше библиотечки парсит svg и преобразует в самодельный xml-формат.
Кроме того сделал xslt-файл, который преобразует из этого моего формата в формат, понятный swfmill.

http://osflash.org/swfmill

Ну а swfmill в свою очередь умеет преобразовывать из xml в swf и обратно.

Вот такой вот многоступенчатой обработкой я получаю swf, который уже содержит регионы, разбитый на отдельные мувики и каждый мувик имеет уникальное имя.

Всё что мне остаётся - это загрузить .swf и проинициализировать уже находящиеся в нём мувики (прописать им события и т.д.).
Можно даже исхитриться сделать так, чтобы они автоматически прицеплялись к нужному мне классу, но я не стал этого делать.

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

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

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


 


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


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