IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Динамическое перемещение объектов во Flash-e, Наложение одного объекта по верх другого динамичемки!!!
Antoxer_92
сообщение 21.09.2011 - 20:33
Сообщение #1


Новичок
*

Группа: Пользователь
Сообщений: 15
Регистрация: 21.07.2011
Пользователь №: 10598



Помогите пожалуйста!!!

И так сначала опишу задачу и проблему:

Мне нужно чтобы один объект лег по верх другого(например при нажатии кнопки). Эти два объекта(к примеру MovieClip-ы) уже были созданы динамически.

При динамическом создании первого объекта(MovieClip1), он ложится поверх всех объектов на сцене. Соответственно при создании второго объекта(MovieClip2) он тоже ложиться по верх всех объектов на сцене в том числе и поверх первого объекта(MovieClip1). Нужно что бы после всего этого при нажатии кнопочки MovieClip1 лег поверх MovieClip2 причём оба объекта должны отображаца, т.е. просто один накрывает часть другого!!!
Сам вопрос:

Есть ли какой нить метод или св-во, чтобы изменять наложение объектов?

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

Сообщение отредактировал Antoxer_92 - 21.09.2011 - 20:34
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 22.09.2011 - 00:34
Сообщение #2


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4332
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Цитата
Наложение одного объекта по верх другого динамичемки

Antoxer_92

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

Цитата
Есть ли какой нить метод или св-во, чтобы изменять наложение объектов?

Конечно есть. Что говорит по этому поводу хелп по флешу и наш форум (где мы уже эту тему обсуждали)? А говорит он то wink.gif, что нужно использовать swapDepths(). Синтаксис следующий (два варианта использования):
Код
mc1.swapDepths(100);
mc1.swapDepths(mc2);
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Antoxer_92
сообщение 22.09.2011 - 23:30
Сообщение #3


Новичок
*

Группа: Пользователь
Сообщений: 15
Регистрация: 21.07.2011
Пользователь №: 10598



MustLive, Спасибо за инфо. Я в яндексе искал уже но незнал что вводить туда конкретно, соответственно ничего и не нашел!!!

Попробывал я использовать данный метод с двумя мувиклипами(а с объектом видео данный метод вообще нельзя использовать), но флэш выдал ошибку:

Warning: 1060: Migration issue: The method swapDepths is no longer supported. Use DisplayObjectContainer.parent.setChildIndex instead. For more information, see the DisplayObjectContainer class, which is extended by MovieClip..

Флэш пишет что данный метод не поддерживается. И пишет что, для более подробной информации см. DisplayObjectContainer.

Погуглил и вот что я нашёл:

swapChildren(child1:DisplayObject, child2:DisplayObject):void - Данный метод меняет местами (в порядке "с верху в низ") два заданных дочерних объекта.
Т.е. тот объект окажется снизу, кот до этого лежал выше.

getChildIndex(child:DisplayObject):int - Возвращает позицию индекса для дочернего экземпляра DisplayObject.

setChildIndex(child:DisplayObject, index:int):void - Изменяет положение существующего потомка в DisplayObjectContainer

Что хорошо данные методы работают со всеми объектам DisplayObject в т.ч. и с объектом video.

Вот инфа для справки -
здесь все методы и свойства, применяемые к объектам DisplayObject .

Надеюсь тему не удалят, кому нибудь точно пригодится.

Метод swapDepths() видимо устарел или как мне кажется(использовался AS 2.0).


MustLive, ещё раз спасибо. Я уж думал этого вообще не реализованно во флэше.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
MustLive
сообщение 23.09.2011 - 00:26
Сообщение #4


Ветеран конференции
*****

Группа: Flash Zone Team
Сообщений: 4332
Регистрация: 10.03.2005
Из: Киев
Пользователь №: 5



Antoxer_92, всегда пожалуйста.

DisplayObjectContainer появился только в AS3. Поэтому вышеописанный метод, что ты нашёл, подходит лишь для AS3.

Цитата
Метод swapDepths() видимо устарел или как мне кажется(использовался AS 2.0).

Этот метод, который был ещё с Flash 5.0, устарел лишь для AS3, а для AS1/AS2 он в самый раз wink.gif. В третьей версии AS многие методы языка "устарели", т.к. их заменили на новые (поэтому Флеш редактор и предупреждает о таких случаях, когда используется AS 3.0).
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 17.10.2011 - 21:20