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

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

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

Регистрация: Mar 2010
Сообщений: 72
По умолчанию Подгрузка swf

Подгружаю таким кодом:
Код AS3:
var url='Мой_url';// ссылка на загружаемый swf
var loadURL:URLRequest=new URLRequest(url);
var loader:Loader = new Loader();
loader.load(loadURL);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,function(){
   loader.x = 10; // координата x
   loader.y = 500; // координата y
   addChild(loader);
});
Выдаёт ошибку:
Цитата:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at Main()
В чом может быть проблемма?

Старый 03.08.2011, 21:51
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Сначала надо добавляться слушатель, а уже потом грузить данные, а не наоборот.
И вообще избавиться он вложенной функции

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Код AS3:
function(event:Event):void {
var target:Loader = (event.currentTarget as LoaderInfo).loader;
target.x = 10;
target.y = 10;
addChild(target);
 
target.loaderInfo.removeEventListener(Event.COMPLETE, arguments.callee);
}
__________________
...вселенская грусть


Последний раз редактировалось gloomyBrain; 03.08.2011 в 21:56.
Старый 03.08.2011, 22:00
Ruzofmo вне форума Посмотреть профиль Отправить личное сообщение для Ruzofmo Найти все сообщения от Ruzofmo
  № 4  
Ответить с цитированием
Ruzofmo

Регистрация: Mar 2010
Сообщений: 72
Цитата:
Сообщение от goodguy Посмотреть сообщение
Сначала надо добавляться слушатель, а уже потом грузить данные, а не наоборот.
И вообще избавиться он вложенной функции
Код AS3:
var loadURL:URLRequest=new URLRequest(url);
var loader:Loader = new Loader();
loader.load(loadURL);	
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, fun);
function fun(event:Event):void 
{						  
   loader.x = 10; 
   loader.y = 500; 
   addChild(loader);
}
Та же ошибка.

Добавлено через 10 минут
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
Код AS3:
function(event:Event):void {
var target:Loader = (event.currentTarget as LoaderInfo).loader;
target.x = 10;
target.y = 10;
addChild(target);
 
target.loaderInfo.removeEventListener(Event.COMPLETE, arguments.callee);
}
Если чесно , непонял код.
Код AS3:
(event.currentTarget as LoaderInfo).loader;
и
Код AS3:
, arguments.callee);
Функцию нужно назвать и запустить?

Старый 03.08.2011, 22:28
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 5  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Цитата:
Та же ошибка.
Ага, вижу. По-прежнему слушатель добавляется уже после начала загрузки )

Упростим задачу:
Код AS3:
var url='Мой_url';// ссылка на загружаемый swf
var loadURL:URLRequest=new URLRequest(url);
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
loader.load(loadURL);
 
function onLoadComplete(e:Event):void {
      e.currentTarget.removeEventListener(Event.COMPLETE, onLoadComplete);
      var loadedShit:DisplayObject = e.target.content as DisplayObject;
      loadedShit.x = 10;
      loadedShit.y = 500;
}


Последний раз редактировалось goodguy; 03.08.2011 в 22:35.
Старый 03.08.2011, 22:33
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 6  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

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

PS
Если (вдруг!) работать не будет, то попробуйте почитать тут, возможно Вы увидите ответы на Ваши вопросы
__________________
...вселенская грусть


Последний раз редактировалось gloomyBrain; 03.08.2011 в 23:04.
Старый 03.08.2011, 22:38
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 7  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
gloomyBrain, эта ссылка приведет на:
Цитата:
Извините, нет совпадений. Попробуйте указать другие ключевые слова.

Старый 03.08.2011, 22:42
Ruzofmo вне форума Посмотреть профиль Отправить личное сообщение для Ruzofmo Найти все сообщения от Ruzofmo
  № 8  
Ответить с цитированием
Ruzofmo

Регистрация: Mar 2010
Сообщений: 72
Цитата:
Сообщение от goodguy Посмотреть сообщение
Ага, вижу. По-прежнему слушатель добавляется уже после начала загрузки )

Упростим задачу:
Код AS3:
var url='Мой_url';// ссылка на загружаемый swf
var loadURL:URLRequest=new URLRequest(url);
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
loader.load(loadURL);
 
function onLoadComplete(e:Event):void {
      e.currentTarget.removeEventListener(Event.COMPLETE, onLoadComplete);
      var loadedShit:DisplayObject = e.target.content as DisplayObject;
      loadedShit.x = 10;
      loadedShit.y = 500;
}
Всё равно та же ошибка.

Добавлено через 6 минут
Попробовал загрузить другую swf с другого хостинга, ошибки не выскочило ,но и флешка не добавилась.


Последний раз редактировалось Ruzofmo; 03.08.2011 в 22:52.
Старый 03.08.2011, 23:04
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 9  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
@goodguy
Исправил
__________________
...вселенская грусть

Старый 03.08.2011, 23:13
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 10  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Ruzofmo, этот код простейший. Я уже много раз так грузил swf, и все работало. Если не пашет, значит проблема в самой подружаемой swf

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

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

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


 


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


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