Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   [Алгоритмы] Интерактивный план квартир (http://www.flasher.ru/forum/showthread.php?t=208532)

radislav72 24.07.2014 18:36

Интерактивный план квартир
 
Здравствуйте!

У меня установлен Flash Professional CC, я в нем нуб, но хочу заполнить пробел в знаниях (с программированием работаю всю жизнь).

Задание такое. Для сайта строительной компании нужно сделать план этажа (существует в виде jpg-картинки от архитектора), в котором:

а) при наведении курсора на квартиру ее область должна подсвечиваться каким-то цветом;
б) при клике на эту подсвеченную область должен показываться увеличенный план выбранной квартиры (тоже jpg-картинка).

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

Ёлочка 24.07.2014 23:38

Вложений: 2
1. Кидаешь план этажа на сцену.
2. В нужных местах рисуешь цветные области. Конвертируешь эти области в MovieClip-ы и задаешь им имена.
3. Каждый увеличенный план тоже заворачиваешь в MovieClip, кидаешь поверх плана этажа на сцену и так же задаешь имя.
4. Пишешь вот такой код:

Код AS3:

import flash.display.MovieClip;
import flash.events.MouseEvent;
 
var rooms:Vector.<MovieClip> = new <MovieClip>[ room_1, room_2, room_3, room_4 ];
var big_plans:Vector.<MovieClip> = new <MovieClip>[ big_plan_1, big_plan_2, big_plan_3, big_plan_4 ];
 
for each ( var room:MovieClip in rooms )
{
        room.addEventListener( MouseEvent.MOUSE_OVER, mouseOverOut );
        room.addEventListener( MouseEvent.MOUSE_OUT, mouseOverOut );
        room.addEventListener( MouseEvent.CLICK, roomClick );
        room.alpha = 0;
}
 
for each ( var big_plan:MovieClip in big_plans )
{
        big_plan.addEventListener( MouseEvent.CLICK, bigPlanClick );
        big_plan.visible = false;
}
 
function mouseOverOut( e:MouseEvent ):void
{
        var room:MovieClip = e.target as MovieClip;
 
        switch ( e.type )
        {
                case MouseEvent.MOUSE_OVER:
                        room.alpha = 1;
                        break;
 
                case MouseEvent.MOUSE_OUT:
                        room.alpha = 0;
                        break;
        }
}
 
function roomClick( e:MouseEvent ):void
{
        var room:MovieClip = e.target as MovieClip;
        var room_index:int = rooms.indexOf( room );
        var big_plan:MovieClip = big_plans[ room_index ];
        big_plan.visible = true;
}
 
function bigPlanClick( e:MouseEvent ):void
{
        var big_plan:MovieClip = e.target as MovieClip;
        big_plan.visible = false;
}

5. Заказчик тебя обнимает и ведет в ресторан. Вложение 31055

plan.swf   (4.5 Кб)

radislav72 25.07.2014 13:35

Спасибо! Это то, что надо. Со всем остальным разобрался


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

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