Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   внутренняя организация ролика (http://www.flasher.ru/forum/showthread.php?t=145777)

Castro 19.10.2010 15:41

внутренняя организация ролика
 
Вопрос больше по о внутренней организации ролика.

Есть карта страны.Она графикой, но побита по областям и можно каждый сконвертить в мувик если нужно.
Необходимо обрабатывать несколько действий:
1) При наведении на область она подсвечивается определённым цветом, мышь уезжает -цвет возвращается в исходный. ещё показывается табличка с данными, но но это уже AS3
2) При щелчке по области - она увеличивается(выезжает) на весь экран (за ней виднеется карта) . При щелчке вне этого выехавшего куска - так же анимировано возвращается обратно.

Пытался сделать первое сконвертировав в мувик(кнопку) и ColorTransform - в общем-то работает. Но вот проблемма с выползанием на передний план. Сделал программное увеличение - не фонтан. Есть идея конечно - сделать анимацию увеличения и через AS3 запускать её. Но не сработало чёто.


Может посоветуете как такое организовать? По идее там ничего ж сложного

samana 19.10.2010 17:15

Вложений: 1
Посмотрите исходник (CS4), там примерно то что вы хотели. Увеличение сделано с помощью Tween. И код в классе Main. Это конечно просто образец, возможно он натолкнёт вас на правильные мысли.

Castro 20.10.2010 00:49

Да-да-да. Очень похоже. Tween гораздо лучше делает зум, чем тупо scaleX.
Glow тоже здесь отлично вписывается.
Хотел спросить, как починить то, что при наехавшем куске карты, есть навести на те куски что позади, они вылезают на передний план?
Есть какой-то порядок элементов в списке отображения?

Спасибо огромное за пример!

Добавлено через 41 минуту
И ещё: как сделать чтобы этот glow эффект был активен всегда, когда кусок карты увеличен?

samana 20.10.2010 08:59

Вложений: 1
Тогда замените файл Main на этот что в исходнике.

Castro 20.10.2010 10:50

Вложений: 1
Да, на Вашем примере это работает. Попробовал у себя тоже самое сделать - но не получилось чёто.

Там вообще есть несколько ошибок, которые не могу исправить.
Когда я трансформировал графику в мувики, то получилось, что края каждой области наложились на границы, что некрасиво совершенно. Тогда я сделал для них blending: overlay. Выглядеть стало лучше, но при зуминге области эта область оказывалась полупрозрачной. Я попытался как-то решить это ещё и для Львовской области сделал blending: normal и arrange -> send to back, типа под контур запихнуть. Но стоит навести мышкой на эту область и щёлкнуть и вся красота портится. К тому же почему-то у меня всё- таки просвечиваются области, которые лежат под данным куском карты (у Вас всё ок с этим). Помогите, пожалуйста, всё это починить

samana 21.10.2010 01:16

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

Castro 21.10.2010 03:52

Спасибо, буду ждать, когда сможете помочь, ибо ещё ковырятся придётся какое-то время. Кое-что уже сам допёр, единственное что есть маленький вопрос по матчасти:
Сейчас каждый участок пропадает при нажатии или на stage или на другой участок, который после нажатия тоже всплывает. Оно всё регулируется кодом

stage.addEventListener(MouseEvent.MOUSE_DOWN,resetFocus)

private function resetFocus(e:MouseEvent):void
{
stage.focus=stage
}

Почему всё же отзумливание происходит при нажатии на любой другой элемент карты? Необходимо чтобы зум-аут происходил именно по клику на стейдж, а не на любой из элементов

samana 21.10.2010 11:54

Вложений: 1
Цитата:

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


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

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