Форум 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=114421)

Lencha 28.07.2008 21:48

Как переключать кнопки на передний план?
 
Привет!Есть кнопки, которые пересекаются между собой (нарисованы в разных слоях). Нужно чтоб при наведении курсора (и при нажатии) на кнопку она выходила на передний план, поверх всех остальных кнопок. Чтобы ее слой становился как будто верхним. Как это сделать?
Помогите, или хотябы намекните.
Спасибо

iNils 28.07.2008 21:50

имя.swapDepths ()

Lencha 28.07.2008 22:01

я так уже пробовала, не работает. что-то не так делаю.
а можно пример какой-нить?

iNils 28.07.2008 22:43

Код:

function createBox (x:Number, y:Number, rgb:Number):MovieClip {
        var d:Number = this.getNextHighestDepth ();
        trace (d);
        var mc:MovieClip = this.createEmptyMovieClip ("mc" + d, d);
        mc.lineStyle (0, 0x000000);
        mc.beginFill (rgb, 90);
        mc.lineTo (100, 0);
        mc.lineTo (100, 100);
        mc.lineTo (0, 100);
        mc.lineTo (0, 0);
        mc.endFill ();
        mc._x = x;
        mc._y = y;
        return mc;
}
////
function sendTop ():Void {
        var d:Number = this._parent.getNextHighestDepth ();
        this.swapDepths (d);
}
var mc1:MovieClip = createBox (100, 100, 0xFF0000);
var mc2:MovieClip = createBox (150, 100, 0xFFFF00);
var mc3:MovieClip = createBox (150, 150, 0x00FF00);
var mc4:MovieClip = createBox (100, 150, 0x0000FF);
mc1.onRollOver = sendTop;
mc2.onRollOver = sendTop;
mc3.onRollOver = sendTop;
mc4.onRollOver = sendTop;


AlexDesinger 29.07.2008 02:57

фига себе... iNils, круто ваще...я раньше столько времени угрохал на эту тему...знал бы у тебя спросил...спасибо, пригодиться ;)

Жень Шень 29.07.2008 11:10

Привет!
А если надо, что бы глубины не менялись (в смысле того, что эти четыре мувика оставались в диапазоне перевоначальных глубин), то можно заменить функцию таким образом:
Код:

function sendTop ():Void {
        var d:Number = this._parent.getNextHighestDepth ();
        mx.behaviors.DepthControl.bringToFront(this);
}

Но, все это на любителя :)

AlexDesinger 29.07.2008 12:30

Кайф....трэйс действительно выводит каждый раз глубину 4 :))))
на какого же любителя эт ж отличный движок получился)))))))
нет заботы о том что какой нть клип вдруг окажется на не запланированной глубине и удалит какой нть мувик оттуда - эт ж катастрофа для комерческого проекта)))))))))))))))))))))))))))))

Жень Шень 29.07.2008 16:14

Цитата:

Сообщение от AlexDesinger (Сообщение 755026)
...нет заботы о том что какой нть клип вдруг окажется на не запланированной глубине и удалит какой нть мувик оттуда...

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

Lencha 29.07.2008 18:28

Мувики работают как надо, но в них встроены баттоны и они не работают. Как можно победить кнопки? чтоб работали...

AlexDesinger 29.07.2008 18:33

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


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

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