Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 19.02.2010, 06:09
ALEX666 вне форума Посмотреть профиль Отправить личное сообщение для ALEX666 Найти все сообщения от ALEX666
  № 1  
Ответить с цитированием
ALEX666
 
Аватар для ALEX666

Регистрация: Feb 2009
Адрес: Минск
Сообщений: 56
Отправить сообщение для ALEX666 с помощью ICQ
По умолчанию добавление объектов под маску

Здравствуйте! Наверное, глупый вопрос, но всё же: можно ли замаскировать контейнер, в который помещён другой контейнер, и добавлять объекты во второй? Я-то уверена, что да, но вот эти объекты появляются через раз, а иногда прячутся за этот второй контейнер, который, в свою очередь, тоже иногда странно себя ведёт! Так что на всякий случай решила спросить

Код AS3:
stage.addChild(circle);
fon.mask=circle;
addEventListener(Event.ENTER_FRAME,korzinaListener);
private function korzinaListener(e:Event):void{
		    if(circle.hitTestObject(korzina)){
				removeEventListener(Event.ENTER_FRAME,korzinaListener);
				addEventListener(Event.ENTER_FRAME,korzina1Listener);
                                            //удаляем уже имеющиеся объекты
				while(ekran.numChildren>0){
				     ekran.removeChildAt(0);
				}
				ekran.addChild(ecomtxt);
 
		    }
}
private function korzina1Listener(e:Event):void{
		    if(!circle.hitTestObject(korzina)){
			removeEventListener(Event.ENTER_FRAME,korzina1Listener);
			addEventListener(Event.ENTER_FRAME,korzinaListener);
		    }
}

может имеет значение, что объектами является текст?


Последний раз редактировалось ALEX666; 19.02.2010 в 11:18.
Старый 19.02.2010, 11:23
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 2  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
можно ли замаскировать контейнер, в который помещён другой контейнер, и добавлять объекты во второй?
Да. Но как это связано с кодом выше?

ЗЫ
Вот вы проверяете, пересекается или нет circle с korzina и каждый раз переназначаете слушателя. А зачем? Не проще в одном EnterFrame-обработчике сделать что-то типа:
Код AS3:
if(circle.hitTestObject(korzina)) {
	doSomething();
}else {
	doSomethingElse();
}
 
...
 
public function doSomething() {
//...
}
 
public function doSomethingElse() {
//...
}
А то код совсем запутанный получился =)
__________________
...вселенская грусть

Старый 19.02.2010, 11:55
ALEX666 вне форума Посмотреть профиль Отправить личное сообщение для ALEX666 Найти все сообщения от ALEX666
  № 3  
Ответить с цитированием
ALEX666
 
Аватар для ALEX666

Регистрация: Feb 2009
Адрес: Минск
Сообщений: 56
Отправить сообщение для ALEX666 с помощью ICQ
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
Да. Но как это связано с кодом выше?

ЗЫ
Вот вы проверяете, пересекается или нет circle с korzina и каждый раз переназначаете слушателя. А зачем? Не проще в одном EnterFrame-обработчике сделать что-то типа:
Код AS3:
if(circle.hitTestObject(korzina)) {
	doSomething();
}else {
	doSomethingElse();
}
 
...
 
public function doSomething() {
//...
}
 
public function doSomethingElse() {
//...
}
А то код совсем запутанный получился =)
Если так сделать, то событие будет возникать каждый кадр, пока circle пересекается с korzina, поэтому необходимо при достижении этого события сразу удалять слушателя
А связано вот как: замаскирован fon, в него добавлен ekran, а в ekran должны помещаться объекты, которые не хотят делать это без ошибок!


Последний раз редактировалось ALEX666; 19.02.2010 в 11:58.
Создать новую тему Ответ Часовой пояс GMT +4, время: 14:47.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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