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

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

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

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

Пытаюсь научиться загружать внешние swf в проект. На данный момент имеется вот такой код:

Код AS3:
package 
{
 
	import flash.display.Sprite;
	import flash.display.Loader;
	import flash.display.StageScaleMode;
	import flash.display.Stage;
	import flash.display.StageDisplayState;
	import flash.net.URLRequest;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.display.MovieClip;
	import flash.utils.getDefinitionByName;
	public class af extends Sprite
	{
		var cont1:MovieClip = new MovieClip;
		var loader1:Loader = new Loader;
		var url:URLRequest = new URLRequest("test2.swf");
 
		public function af()
		{
			addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
 
		public function init(e:Event=null):void
		{
			stage.scaleMode = StageScaleMode.SHOW_ALL;
			stage.displayState = StageDisplayState.FULL_SCREEN;
			//addEventListener(Event.ENTER_FRAME, checkFrame);
			loadtest();
		}
 
 
		function loadtest() {
			cont1.scaleX=cont1.scaleY=0.5;
			addChild(cont1);
			loader1.contentLoaderInfo.addEventListener(Event.COMPLETE, completeload);
			loader1.load(url);
 
		}
		function completeload(e:Event) {
			trace(e.target.content);
						cont1.addChild(loader1);
		}
	}
 
}
с простыми swf все работает оnлично, но вот если я подгружаю что-то более сложное(видеогалерею к примеру), то начинаются проблемы.

Код AS3:
...
		var url:URLRequest = new URLRequest("inertia.swf");
...
 
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
	at inertia()
Подскажите, как устранить данную проблему

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

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

Старый 04.10.2011, 19:37
teion вне форума Посмотреть профиль Отправить личное сообщение для teion Найти все сообщения от teion
  № 3  
Ответить с цитированием
teion

Регистрация: Mar 2011
Сообщений: 72
ну вот в примере выше - test2.swf состоит всего лишь из нарисованного на сцене руками красного кубика, и все. Грузится он отлично. А вот если я поменяю test2.swf на inertia.swf, который является видеогалереей со всякими там классами и своими лоадерами, то все работать перестает

Старый 04.10.2011, 19:43
toFL вне форума Посмотреть профиль Найти все сообщения от toFL
  № 4  
Ответить с цитированием
toFL
Banned

Регистрация: May 2011
Адрес: +48° 27' 57.93", +35° 2' 46.02"
Сообщений: 447
Записей в блоге: 2
Отправить сообщение для toFL с помощью Skype™
Цитата:
TypeError: Error #1009
У вас не определен loader1


Последний раз редактировалось toFL; 04.10.2011 в 19:46.
Старый 04.10.2011, 19:44
teion вне форума Посмотреть профиль Отправить личное сообщение для teion Найти все сообщения от teion
  № 5  
Ответить с цитированием
teion

Регистрация: Mar 2011
Сообщений: 72
и еще я обнаружил, что проблема даже не в добавлении лоадера на сену.. Данная ошибка возникает на

Код AS3:
loader1.load(url)
Добавлено через 50 секунд
Цитата:
Сообщение от toFL Посмотреть сообщение
Ошибки? Не отображает? Проекты оба AS3? и еще миллион вопросов.
проекты оба AS3 да.. Ошибку выше писал

Добавлено через 8 минут
Цитата:
Сообщение от toFL Посмотреть сообщение
У вас не определен loader1
эмм.. чтот не могу сообразить, как его определить? loader1 этож вроде как переменная и определена она

Код AS3:
var loader1:Loader = new Loader;

Старый 04.10.2011, 20:17
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 6  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Цитата:
Сообщение от teion Посмотреть сообщение
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at inertia()
Ставлю на то, что в загружаемой флэшке в конструкторе есть обращение к сцене)
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 04.10.2011, 20:19
teion вне форума Посмотреть профиль Отправить личное сообщение для teion Найти все сообщения от teion
  № 7  
Ответить с цитированием
teion

Регистрация: Mar 2011
Сообщений: 72
Цитата:
Сообщение от -De- Посмотреть сообщение
Ставлю на то, что в загружаемой флэшке в конструкторе есть обращение к сцене)
бинго! Соответственно возникает вопрос, как же теперь в загружаемой флешке, к сцене обращаться?

Старый 04.10.2011, 20:23
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 8  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Не в конструкторе?
У вас же есть код
Код AS3:
addEventListener(Event.ADDED_TO_STAGE, init);
- он вот как раз для того, чтоб в ините спокойно к сцене обратится.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 04.10.2011, 20:27
teion вне форума Посмотреть профиль Отправить личное сообщение для teion Найти все сообщения от teion
  № 9  
Ответить с цитированием
teion

Регистрация: Mar 2011
Сообщений: 72
Цитата:
Сообщение от -De- Посмотреть сообщение
Не в конструкторе?
У вас же есть код
Код AS3:
addEventListener(Event.ADDED_TO_STAGE, init);
- он вот как раз для того, чтоб в ините спокойно к сцене обратится.
не, в загружаемой флешке тоже имеется такая конструкция.. Но я там использую stage в описании переменной, т.е. до события init

Код AS3:
//часть в загружаемой флешке
...
var canvas:GraffitiCanvas = new GraffitiCanvas(stage.stageWidth, stage.stageHeight);
 
		public function inertia()
		{
			addEventListener(Event.ADDED_TO_STAGE, init);
		}
		private function init(e:Event):void
		{
                }
...

Старый 04.10.2011, 20:32
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 10  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Ну да, это оно. Берёшь и правишь.
Код AS3:
var canvas:GraffitiCanvas;
 
		public function inertia()
		{
			addEventListener(Event.ADDED_TO_STAGE, init);
		}
		private function init(e:Event):void
		{
			canvas = new GraffitiCanvas(stage.stageWidth, stage.stageHeight);
                }
как-то так
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

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

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

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


 


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


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