Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как реализовать меню? (http://www.flasher.ru/forum/showthread.php?t=76498)

Damira 07.03.2006 01:01

Как реализовать меню?
 
Мне дали следующее описание меню:
"На странице пульсируют квадраты меню. При этом по очереди квадраты увеличиваются. После того, как квадрат достиг своего максимального размера, вся система останавливается, а на выделенном квадрате появляется название раздела. Потом обрат и к другому квадрату.

Если навести мышью на любой квадрат, движение всего цикла всех квадратов проходит до момента соответсвия максимального размера выделенного квадрата. Если нажать на квадрат, то грузиться соответсвующий раздел. Если убрать мышь, то картинка пропадает,система прододжает свое цикличное движение-пульсацию."

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

Nidl 07.03.2006 01:23

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

P.S. проверку есть ли мышь над квадратом можно делать 3 вариантами
1. (нестобилен) проверка на onRollOut и onRollOver. в твоем примере использовать вообще нерекомендую , на счет этого я еще с iNilsam спорил .
2. проверка на хит тест , для прямоугольных обьектов само великолепие )
3. мой любимый , проверка координат, очень стабилен .

Antares 07.03.2006 01:52

1. Это чем же он нестабилен?:)
2. А что, для непрямоугольных чем-то хуже?:)
3. О да, особенно для некруглых и непрямоугольных вариантов...

Король 07.03.2006 01:56

автор жжот. других слов у меня нет, сорри

Nidl 07.03.2006 02:00

2Antares для нерямоугольных нужно хит тест с гетбаунсом обьединять , одним хиттестом не ограничешся .

P.S. Ты ведь знаеш все это чего смеешся ?

K.A.T.A.F.A.L.K.E.R 07.03.2006 02:49

Вложений: 1
детский вариант решения (если правильно понял задачу): к примеру, если в меню будет N элементов, а сама анимация "увеличение-уменьшение" занимает m кадров, отступаем (N-1)*m кадров от начала а дальше лепим саму анимацию. Скрипт после такого приобретает вид вроде
Код:

for(var i:Number=0;i<5;i++){
        _root.attachMovie("mov","mov"+i,i);
        _root["mov"+i]._x = (_root["mov"+i]._width+20)*i + 100;
        _root["mov"+i]._y = 100;
        _root["mov"+i].gotoAndPlay(80-i*20);
        _root["mov"+i].onEnterFrame = function(){
                if(this._currentframe==90 && this.hitTest(_xmouse,_ymouse,true))
                        for(var i in _root)
                                _root[i].stop();
        }
        _root["mov"+i].onRollOut = function(){
                for(var i in _root)
                        _root[i].play();
        }
        _root["mov"+i].onReleaseOutside = _root["mov"+i].onRollOut;
}


Damira 07.03.2006 02:56

Цитата:

Сообщение от Nidl
чтобы тебе помочь интересует один вопрос ты собираешся картинки грузить из вне или держать в самой флешке ?
ну само сабой какой версией флеша ты пользуешся ?
это ктому в какой примеры делать.

версия MX.
картинки будут лежать во флешке.
Цитата:

Сообщение от Nidl
1. (нестобилен) проверка на onRollOut и onRollOver. в твоем примере использовать вообще нерекомендую , на счет этого я еще с iNilsam спорил .

Так и не вышло же. Спора вашего я не видела, но это первое, что пришло в голову. И не особо удачное, так как сама же и запуталась в реализации
Цитата:

Сообщение от Nidl
2. проверка на хит тест , для прямоугольных обьектов само великолепие ).

А что это значит?
Цитата:

Сообщение от Nidl
3. мой любимый , проверка координат, очень стабилен .

А это идея... и замечательная!
Попробую

Damira 07.03.2006 02:59

Не совсем так. Дергающиеся квадраты (они еще и в пространстве "колбасятся") должны останавливать свою пульсацию, если мышка над одним из квадратов. и опять продолжать движение, если мышка убрана.

Antares 07.03.2006 03:09

Тут просто представить себе что-то лучше класса с onRollOver / onRollOut сложно, какие проверки координат...

Antares 07.03.2006 03:10

Цитата:

Сообщение от Nidl
P.S. Ты ведь знаеш все это чего смеешся ?

Да потому что вы пытаетесь почесать пяткой ухо, хотя руки у вас развязаны.


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

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