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

mooncar 27.12.2009 13:51

Это от непонимания того, что делает getNextHighestDepth(). А этот метод просто-напросто выдает инфу о том, какой следующий уровень свободен.
А ставит на нужный уровень уже метод swapDepths()
Поэтому сделайте так:
Код AS1/AS2:

//найдем свободный уровень внутри main - он будет выше всех занятых
var topLevel:Number = main.getNextHighestDepth();
 
function ab (){
  this._xscale = 110; //плюсы тут ни к чему
  this._yscale = 110;
  this.swapDepths(topLevel); //очередная кнопка встает на найденный уровень, который заведомо выше всех
}


udaaff 27.12.2009 13:56

Лучше менять местами текущий мувик с наивысшим. А то так глубины могут закончится, если долго и упорно кликать.

mooncar 27.12.2009 14:01

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

Dumpil 27.12.2009 14:18

не работает (
нужно ли в клипе main добавить еще один слой ?
все кнопки в клипе main лежат в одном фрейме на одном слое.

Добавлено через 1 минуту
Цитата:

Сообщение от udaaff (Сообщение 875555)
Лучше менять местами текущий мувик с наивысшим. А то так глубины могут закончится, если долго и упорно кликать.

где должен находиться наивыший ? в руте ?

mooncar 27.12.2009 14:23

Вложений: 1
Должно работать. Никаких слоев не нужно добавлять. То, что происходит на _root, никакого отношения не имеет ни к чему, у вас же все в main - и кнопки, и уровень свободный находится и занимается.
Вероятно, что-то делаете не так. См. рабочий пример.

PS. Не путайте слои в среде разработки флеша и глубины объектов в готовом swf.

Dumpil 27.12.2009 14:57

Цитата:

Сообщение от mooncar (Сообщение 875565)
Должно работать. Никаких слоев не нужно добавлять. То, что происходит на _root, никакого отношения не имеет ни к чему, у вас же все в main - и кнопки, и уровень свободный находится и занимается.
Вероятно, что-то делаете не так. См. рабочий пример.

PS. Не путайте слои в среде разработки флеша и глубины объектов в готовом swf.

http://filestore.com.ua/?d=D3C87EB49
не могу понять что не так
возможно потому что в кнопках битмап и есть анимация

mooncar 27.12.2009 15:05

Не забывайте, что не у всех CS4 стоит.

Dumpil 27.12.2009 22:26

Какая версия у вас ? Если сохранять через сайв эз то можно только CS3 (
Цитата:

MovieClip.swapDepths

Синтаксис

anyMovieClip.swapDepths(depth);
anyMovieClip.swapDepths(target);

Аргументы

target Мувиклип, который должен обменять уровень своего местонахождения с уровнем клипа, заданным в anyMovieClip. Оба мувиклипа должны принадлежать одному и тому же родительскому клипу (находиться на одной линейке Прим. редактора)

depth Номер уровня, на который будет перемещен anyMovieClip.

Описание

Метод; обменивает порядок расположения, или Z-порядок (уровень глубины) данного мувиклипа с клипом, указанным в аргументе target или с клипом, который в данный момент занимает уровень depth, заданный в аргументе. Оба мувиклипа должны принадлежать к одному и тому же родительскому клипу. Обмен уровнями создает эффект перемещения одного клипа за или под другой. Если в момент вызова этого метода мувиклип находится в состоянии анимации "tweening", последняя останавливается.
скорее всего проблема вот здесь.

Добавлено через 25 минут
вродь разобрался проблема в том что к типу "button" это свойство не работает (

mooncar 28.12.2009 00:21

Кнопки (Класс Button) не используйте - от них одна головная боль.

Dumpil 28.12.2009 00:26

ну я уже это понял ) просто теперь прийдеться все кнопки переделать в мувиклип а потом их сделать с помощью - ас кнопками )
нашел тут пример как по мне не оч понятный )
http://demiart.ru/forum/index.php?showtopic=54011
кстати я так понял там где наш счечик отсчитывает кнопки можно вставить скрипт для того что бы каждый мувиклип превращался в кнопку (соответсвенно подготовив его - вставив 3 кадра), верно ?


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

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