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

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

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

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
Smile работа со слоями

доброго утра вам.
возникла проблема в работе с слоями.
когда объекты определены и созданы в ручную все работает исправно.
но когда объекты созданы через addChild не работает и выдает ошибки

Код:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
	at Smiles/containerC_mouseDownHandler()
Код AS3:
main.ics.sld.addEventListener(MouseEvent.CLICK, function(e){
    var topPosition:uint = main.alls.numChildren - 1;
main.alls.setChildIndex(lasts, topPosition);
 
});
lasts - это объект, на который мы нажали.

что тут не так?
ПС.поиск юзал.хелп пытался понять.по сути код и есть из хэлпа.

Старый 06.04.2010, 13:39
Doctor76 вне форума Посмотреть профиль Отправить личное сообщение для Doctor76 Найти все сообщения от Doctor76
  № 2  
Ответить с цитированием
Doctor76
 
Аватар для Doctor76

Регистрация: Nov 2007
Сообщений: 183
а как понять "Вручную?"
Насколько я понимаю, ф-я addChild именно добавляет объекты на сцену
В вашем коде мне что то не все ясно, кого вы подписываете, и кого вы хотите с кем поменять местами

Подписан main.ics.sid
потом обращаетесть к main.alls

Может он и равен null
Потрейсите все

Старый 06.04.2010, 13:56
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 3  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
забудем про ручное)
там все работает.

объекты я создаю так

Код AS3:
main.lentas.l4.addEventListener(MouseEvent.CLICK, function(e){
 var cl:MovieClip = new ln4();
main.alls.addChild(cl);
cl.x = 200;
cl.y = 200;
cl.mouseChildren = false;
cl.addEventListener(MouseEvent.MOUSE_DOWN, function(e){
cl.startDrag(false);
main.ics.gotoAndStop(2);
cnhS();
  	  });  
// и тп
в конце создании такои код
 
main.alls.addEventListener(MouseEvent.MOUSE_DOWN, containerC_mouseDownHandler);
 
function containerC_mouseDownHandler(event:MouseEvent):void
{
lasts = MovieClip(event.target);
}
 
//ну и далее..я из мувика пытаюсь вызвать
 
main.ics.sld.addEventListener(MouseEvent.CLICK, function(e){
    var topPosition:uint = main.alls.numChildren - 1;
main.alls.setChildIndex(lasts, topPosition);
 
});

Старый 06.04.2010, 14:08
Doctor76 вне форума Посмотреть профиль Отправить личное сообщение для Doctor76 Найти все сообщения от Doctor76
  № 4  
Ответить с цитированием
Doctor76
 
Аватар для Doctor76

Регистрация: Nov 2007
Сообщений: 183
Извините , но у Вас запутанный код

Такой код мне понятен:
Код:
var spr:ShapeObject= new ShapeObject();
spr.addEventListener(MouseEvent.CLICK, onMouseClick)

private function onMouseClick(event:MouseEvent):void{
   trace(" mouse click: "+ ShapeObject(event.target))
}
А у вас получается main.alls подписывается на MouseEvent.MOUSE_DOWN
Далее lasts = MovieClip(event.target); (кстати он выше где то объявлен?)
т.е. lasts = main.alls

Далее main.ics.sld полписывается на MouseEvent.CLICK
и по этому событию main.alls пытается поменяться глубиной с самим сабой??

Старый 06.04.2010, 14:25
Dezar вне форума Посмотреть профиль Отправить личное сообщение для Dezar Найти все сообщения от Dezar
  № 5  
Ответить с цитированием
Dezar

Регистрация: Jan 2008
Адрес: Питер
Сообщений: 389
lasts - объявлен как мувиклип
и по идее он равен main.alls.мувик

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

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

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


 


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


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