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

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

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

Регистрация: Feb 2009
Адрес: Ялта, Севастополь, Одесса
Сообщений: 52
По умолчанию мувик пропадает в null, потом появляется

вобщем наступил на грабли - не могу понять что происходит:
во время воспроизведения парента один из чайлдов становится равным null,
потом опять MovieClip, хотя он есть во всех кадрах (см. таймлайн)
собственно цель
исходник
структура мувика:
Код:
stage{
	loginPanel:MovieClip {
		loginButton:MovieClip interactions layer
		coner:MovieClip coner layer
		panelMask:Shape panelMask layer
		panel:MovieClip panel layer{
			login:TextInput
			passwd:TextInput
		}
	}
}
loginPanel timeline :

код в первом кадре:
Код AS3:
loginPanel.gotoAndStop(1);
loginPanel.coner.addEventListener(MouseEvent.MOUSE_OVER, onroll); 
loginPanel.loginFunction = function(){} // на съедение LoginPanelMediator`у
function loginHander(event:Event):void{
	if( 
	    ( (event.target.name == "loginButton")&&
		  (event.type 		 == "click")
		) || (
		  (event.target.name == "passwd")	  &&
		  (event.type 		 == "keyUp")	  &&
		  ((event as KeyboardEvent).charCode == Keyboard.ENTER)
		)
	){	
		loginPanel.loginFunction();	
	} 
	trace(event.target.parent.name);
};
 
function onroll(event:MouseEvent) :void { 
	loginPanel.addEventListener(Event.ENTER_FRAME, onPlay );
	loginPanel.coner.removeEventListener(MouseEvent.MOUSE_OVER, onroll); 
	trace("||>"+loginPanel.panel);
	loginPanel.play(); 
} 
function onPlay(event:Event):void{ 
	trace("["+loginPanel.currentFrame+"]>"+loginPanel.panel);
	if( (loginPanel.currentFrame == 1) ){ 
		loginPanel.stop();
		loginPanel.removeEventListener(MouseEvent.CLICK, loginHander);
		loginPanel.removeEventListener(KeyboardEvent.KEY_UP, loginHander);
		loginPanel.coner.addEventListener(MouseEvent.MOUSE_OVER, onroll); 
		loginPanel.loginButton.buttonMode = false;
		loginPanel.removeEventListener(Event.ENTER_FRAME, onPlay );  
	}
	if( (loginPanel.currentFrame == 12) ){ 
		loginPanel.stop();
		loginPanel.addEventListener(MouseEvent.CLICK, loginHander);
		loginPanel.addEventListener(KeyboardEvent.KEY_UP, loginHander);
		loginPanel.coner.addEventListener(MouseEvent.MOUSE_OVER, onroll); 
		loginPanel.loginButton.buttonMode = true;
		loginPanel.removeEventListener(Event.ENTER_FRAME, onPlay ); 
	}
}
вывод трасера:
Код:
||>[object MovieClip]		сработал ролловер - все нормально
[2]>[object MovieClip]		пошел ентерфрэйм - пока все нормуль
[3]>[object MovieClip]
[4]>[object MovieClip]
[5]>[object MovieClip]
[6]>[object MovieClip]
[7]>[object MovieClip]
[8]>[object MovieClip]
[9]>[object MovieClip]
[10]>[object MovieClip]
[11]>[object MovieClip]
[12]>null			<< Вот блин куда он сволоч девается о_О ???
||>[object MovieClip]		на следующем ролловере воскрес (тоже - каааак ???)
[13]>[object MovieClip]
[14]>[object MovieClip]
[15]>[object MovieClip]
[16]>[object MovieClip]
[17]>[object MovieClip]
[18]>[object MovieClip]
[19]>[object MovieClip]
[20]>[object MovieClip]
[21]>[object MovieClip]
[22]>[object MovieClip]
[23]>[object MovieClip]		
[24]>null			и вот опять пропал #"$`&%$#$@# aaaaaaaaaaa!!!!!
[1]>null
хелп ми плиз - объясните почему loginPanel.panel становится то null то MovieClip???


Последний раз редактировалось Elser; 10.02.2010 в 16:48.
Создать новую тему Ответ Часовой пояс GMT +4, время: 18:02.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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