Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Отключение активности спрайта-контейнера (http://www.flasher.ru/forum/showthread.php?t=196588)

Chum 27.03.2013 10:14

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

Hauts 27.03.2013 10:25

Код AS3:

mouseChildren = false;
mouseEnabled = false;


Chum 27.03.2013 10:32

Т.е. если я правильно понял для спрайта-контейнера:
Код AS3:

container.mouseChildren = false;
container.mouseEnabled = false;


Hauts 27.03.2013 11:13

Chum, а вы попробуйте, попробуйте.

Chum 27.03.2013 11:20

Сейчас я переделываю одну работу и данное решение мне потребовалось для использования в ней.
До Cntrl+Enter ой как далеко, а отвлекаться на примеры - нет времени.
Спасибо.

AlexCooper 27.03.2013 14:03

Цитата:

Сообщение от Chum (Сообщение 1127001)
До Cntrl+Enter ой как далеко, а отвлекаться на примеры - нет времени.

Судя с поста, я думаю Вас ожидают невероятные дни отладки, после магического Cntrl+Enter. Советую познакомиться с ним пораньше

mikhailk 27.03.2013 14:10

Да ладно, судя по вопросам в последний период, народ то ли курсовые по флешу пишет, то ли дипломы. Кое-как запустятся, и то хорошо.

Chum 28.03.2013 10:37

Хочу немного расширить тему и задать вопрос по применению метода setChildIndex класса DisplayObjectContainer. В официальной документации приведены примеры с уже созданными объектами, хотелось бы уточнить как обстоят дела в динамике.
Предположим есть контейнер с 10 вложенными объектами.
Правильно ли я понимаю что если в динамике создав новый спрайт я выложу его в контейнер на самый низкий уровень, как-то так:
Код AS3:

container.setChildIndex(container.addChild(mysprite), 0);

то все ранее добавленные в этот контейнер объекты перейдут последовательно на один уровень выше (т.е. с 0 на 1, с 1 на 2 ... и т.д.) .

Или если я созданный в динамике спрайт добавлю в контейнер на уровень 5:
Код AS3:

container.setChildIndex(container.addChild(mysprite), 5);

то все нижележащие объекты останутся на своих позициях, а вышележащие перейдут последовательно на позицию выше?

bav 28.03.2013 10:51

Да, вы правильно понимаете. Только проще, в данном случае, использовать метод DisplayObjectContainer::addChildAt, который сразу добавляет ребенка на нужный индекс.
Код AS3:

container.addChildAt(mysprite, 0);


Hauts 28.03.2013 10:55

Цитата:

Да ладно, судя по вопросам в последний период, народ то ли курсовые по флешу пишет, то ли дипломы. Кое-как запустятся, и то хорошо.
— Чертовски согласен. Еще я бы добавил новое поколение игроделов, которые "стопятся" на втором же классе :)

Сорри за оффтоп.

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


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

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