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

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

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

Регистрация: May 2006
Адрес: Germany
Сообщений: 74
Question Новичок: как добраться до содержания таба?

Привет,

подскажите пожалуйста, почему не работает код?

Цитата:
Cannot access a property or method of a null object reference.
Если убрать TabNavigator и Canvas, то работает.

Пробовал и tabs.table.spriteHolder.addChild(sprite);
но компайлер не признает такой.

Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    creationComplete="onCreationComplete();">
    <mx:Script>
        <![CDATA[
            private function onCreationComplete():void
            {
                var sprite:Sprite = new Sprite();
                var g:Graphics = sprite.graphics;
 
                g.lineStyle(1, 0xFF0000);
                g.beginFill(0xFF0000);
                g.drawCircle(200, 200, 20);
                g.endFill();
 
                spriteHolder.addChild(sprite);
            }
        ]]>
    </mx:Script>
 
	<mx:TabNavigator id="tabs" width="100%" height="100%">
		<mx:Canvas label="Tab1" width="100%" height="100%">
		</mx:Canvas>
		<mx:Canvas label="Tab2" id="table" width="100%" height="100%">
		    <mx:UIComponent id="spriteHolder" width="100%" height="100%"/>
		</mx:Canvas>
	</mx:TabNavigator>
 
</mx:Application>

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

Регистрация: Oct 2009
Сообщений: 34
Отправить сообщение для Кип с помощью ICQ
Ловите creationComplete tabl'а, или spriteHolder'a. Они видимо не успевают создасться, когда Application диспатчит событие.

Код AS3:
<mx:Canvas label="Tab2" id="table" width="100%" height="100%" <b>creationComplete="onCreationComplete()"b>>
	    <mx:UIComponent id="spriteHolder" width="100%" height="100%"/>
</mx:Canvas>

Старый 21.03.2010, 17:33
afarber вне форума Посмотреть профиль Отправить личное сообщение для afarber Посетить домашнюю страницу afarber Найти все сообщения от afarber
  № 3  
Ответить с цитированием
afarber
 
Аватар для afarber

Регистрация: May 2006
Адрес: Germany
Сообщений: 74
Спасибо, а как к нему обратиться? Вот так не работает:

Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Script>
        <![CDATA[
            private function onCreationComplete():void
            {
                var sprite:Sprite = new Sprite();
                var g:Graphics = sprite.graphics;
 
                g.lineStyle(1, 0xFF0000);
                g.beginFill(0xFF0000);
                g.drawCircle(200, 200, 20);
                g.endFill();
 
                this.addChild(sprite);
            }
        ]]>
    </mx:Script>
 
	<mx:TabNavigator id="tabs" width="100%" height="100%">
		<mx:Canvas label="Пуля" width="100%" height="100%">
		</mx:Canvas>
		<mx:Canvas label="Игры" id="table" width="100%" height="100%">
		    <mx:UIComponent id="spriteHolder" width="100%" height="100% creationComplete="onCreationComplete();"/>
		</mx:Canvas>
	</mx:TabNavigator>
 
</mx:Application>

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

Регистрация: Oct 2009
Сообщений: 34
Отправить сообщение для Кип с помощью ICQ
В первом посте вы правильно делали
Код AS3:
spriteHolder.addChild(sprite);
а this.addChild(sprite); должен добавить спрайт в Application.

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

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

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


 


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


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