Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   А такое возможно? (http://www.flasher.ru/forum/showthread.php?t=26111)

K@r@nd@sh 22.01.2002 05:23

А такое возможно?
 
ДОПУСТИМ
есть 20 кнопок

по клику с каждой кнопки загружаем окошко (loadmovie)

для каждой кнопки своё окошко (все окошки одного вида, но с разной информацией)

все они перетаскиваемые (это я умею ;) )

допустим открыто два окошка, часть одного окна точит из под другого. Возможно ли что бы при нажатии на нижнее окно оно становилось поверх остальных (и что б с подгруженой туда информацией ничего не случилось)

nagash 22.01.2002 06:25

Код:

MovieClip.prototype.fncPopUp = function () {
var i = 0; var arrMc = new Array();
for (mc in _parent) {if (typeof (_parent[mc]) == "movieclip") {
arrMc.push(_parent[mc]);
if (_parent[mc]._name == _name) {break}i++;}}for (i; i>0; i--) {
this.swapDepths(arrMc[i-1]);}}

вызывать
_root.anyMC.fncPopUp();

(c)Iv

Baltika 22.01.2002 10:38

ili prosto sdelat knopku vo vse okno i na nee povesit :
_root.m1.swapDepths(1);
gde m1 - instance muvika

K@r@nd@sh 23.01.2002 01:36

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

Baltika, подгружаемому swf'y можно задать инстанс?

Ales 23.01.2002 02:08

Nagash, я бы на твоем месте не советовыл бы художнику юзать такие коды. :)

2Карандаш:
Инстанс можно задать клипу в который грузишь. Все достаточно тривиально.
Сначало на любом клипе:
onClipEvent (load){
for ( i=1; i<20 ; i++ ) {
duplicateMovieClip ( "_root.loadd0", "loadd" + i, i );
}
}
Где loadd0 - это пустой клип. В принципе можно и не пустой, но после загругки туда друго клипа там все равно все сотреться.
Потом делаешь 20 кнопок. На каждой пишеь код:
on ( press) {
_root.loadd"X".loadMovie("имя_файла.swf");
}
где X - порядкое число. Т.е. от 1 до 20
Каждая кнопка у тебя будет загружать какой-то мувик в клип loadd"X".
А в окошках своих сделай большую прозрачную кнопку на на ней код:
on (press) {
_root.depth++;
this.swapDepths( _root.depth );
//startDrag (this); - для понятности :)
}
on (release, releaseOutside) {
//stopDrag ();
}
где _root.depth будет просто переменая в руте выполняющая роль счеткика уровней. И тогда все твои окошки по нажатию на них мышкой будут поднимать на один уровень выше всех и с информацией ничего не случиться :)
В принципе, в принципе, это слишком легко, можно конечно наворотить, повкладовать кнопок в клипы, проаттачить их и так далее, как предположим проедложил Нагаш, но это сложне в понимании. :)
Удачи.

K@r@nd@sh 23.01.2002 03:55

спасибо, попробую разобраться


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

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