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

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

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

Регистрация: Sep 2007
Адрес: 52° 31′ N, 13° 24′ O
Сообщений: 55
По умолчанию Доступ к объектам подгружаемого swf

добавил swf методом addChildAt в котором находится галлерея со слайдером.
Естественно ошибка 1009. Не знаю как правильно это все делать. Ткните носом, где читать? Какая функция? Спасибо!

Старый 02.01.2010, 18:41
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 2  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Может поможет
http://www.murmadillo.tut.su/as3/load-swf-metod.html
__________________
Гоночка

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

Регистрация: Sep 2007
Адрес: 52° 31′ N, 13° 24′ O
Сообщений: 55
спасибо. Я уже видел, но не смог разобраться)

Добавлено через 1 час 29 минут
Я на правильном пути?)

Код AS3:
private function menuButtonClick(e:Event):void // Функция кнопок меню для загрузки новых страниц
	{
		loader = new Loader(); // Новый загрузчик
		urlRequest = new URLRequest("firma.swf");
		ldrContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
		loader.contentLoaderInfo.addEventListener(Event.COMPLETE, fileLoaded); //загрузка закончена
		loader.load(urlRequest, ldrContext);     
	}
private function fileLoaded (e:Event):void // Метод появления новой страницы
	{
		startPageOut(); // Удаление Главной страницы
		ApplicationDomain.currentDomain.getDefinition("ldrContext"); // ЧТО ЗДЕСЬ ПИСАТЬ?
		nextPage = e.target.content;
		stage.addChildAt(nextPage, 1); // Добавить Следующую страницу
		currentPage = nextPage; // Присвоим Текущей странице - загруженную
	}
Добавлено через 3 часа 27 минут
Эээх! Не дождаться!


Последний раз редактировалось Stanislavsky; 02.01.2010 в 20:38.
Старый 03.01.2010, 14:10
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 4  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Непонятно, зачем эти пассы с доменами, если Вы грузите страницы с того же домена, что и основную свф.
__________________
Reality.getBounds(this);

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

Регистрация: Sep 2007
Адрес: 52° 31′ N, 13° 24′ O
Сообщений: 55
Странно. У меня при нажатии на скролл-бар ошибка 1009. И ничего не работает.
Это - если я просто добавляю Child.
Wolsh, а как же правильно подгрузить swf, чтоб в ней работал код?

Старый 03.01.2010, 14:47
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 6  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Матюкаюсь..., ошибка 1009, а че это за ошибка??? Не я злой пофигист.
__________________
Гоночка

Старый 03.01.2010, 14:54
VVall вне форума Посмотреть профиль Отправить личное сообщение для VVall Найти все сообщения от VVall
  № 7  
Ответить с цитированием
VVall

Регистрация: Feb 2009
Сообщений: 1,195
Вероятно, в подгружаемом swf есть обращение к stage в конструкторе, а она там null при добавлении через addChild.

Старый 03.01.2010, 16:06
Stanislavsky вне форума Посмотреть профиль Отправить личное сообщение для Stanislavsky Найти все сообщения от Stanislavsky
  № 8  
Ответить с цитированием
Stanislavsky
 
Аватар для Stanislavsky

Регистрация: Sep 2007
Адрес: 52° 31′ N, 13° 24′ O
Сообщений: 55
Цитата:
Сообщение от VVall Посмотреть сообщение
Вероятно, в подгружаемом swf есть обращение к stage в конструкторе, а она там null при добавлении через addChild.
Именно так. А что нужно изменить? - Это код подгружаемого:
Код AS3:
package
{     
	import flash.display.*;     
	import flash.events.*;     
 
	public class Handle extends MovieClip     
	{            
		public var goToX : Number = x;         
		private var slider : MovieClip = MovieClip(parent).slider;         
		private var mousePos : Number = 0;                  
 
		public function Handle() : void         
		{             
			buttonMode = true;             
			addEventListener( MouseEvent.MOUSE_DOWN, moveHandle );             
			stage.addEventListener( MouseEvent.MOUSE_UP, stopHandle );         
		}                  
 
		private function moveHandle( _e : MouseEvent ) : void         
		{             
			mousePos = mouseX;             
			stage.addEventListener( MouseEvent.MOUSE_MOVE, followHandle );         
		}                  
 
		private function stopHandle( _e : MouseEvent ) : void         
		{
			stage.removeEventListener( MouseEvent.MOUSE_MOVE, followHandle );
		}                 
 
		private function followHandle( _e : MouseEvent ) : void         
		{    
			var newPos : Number = stage.mouseX - mousePos;
			var orgX : Number = x;  
			if ( newPos < slider.x )                 
			goToX = slider.x;             
			else if ( newPos > (slider.x + slider.width) - width )                 
			goToX = (slider.x + slider.width) - width;             
			else                 
			goToX = newPos;             
			x = goToX;             
			if( goToX != orgX ) 
			dispatchEvent( new Event( "sliding", true ) );
		}                     
	}       
}
Добавлено через 42 минуты
Я заменил во всех случаях stage на parent! Ошибки нет. НО правильно ли это?

Старый 03.01.2010, 20:13
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 9  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
>>Я заменил во всех случаях stage на parent! Ошибки нет. НО правильно ли это?
Не вот так правильно
Код AS3:
package
{     
	import flash.display.*;     
	import flash.events.*;     
 
	public class Handle extends MovieClip     
	{            
		public var goToX : Number = x;         
		private var slider : MovieClip = MovieClip(parent).slider;         
		private var mousePos : Number = 0;                  
 
		public function Handle() : void         
		{             
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
 
		private function init(e:Event = null):void 
		{
			// ну после этого хоть все что угодно
 
			buttonMode = true;             
			addEventListener( MouseEvent.MOUSE_DOWN, moveHandle );             
			stage.addEventListener( MouseEvent.MOUSE_UP, stopHandle );         
		}
__________________
Гоночка

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
)) Собственно, любой класс документа (основной класс свф-файла) должен начинаться с установки стейджа. В шаблонах Flash Develop например это просто зафиксировано)) Есть стейдж - можно работать))
__________________
Reality.getBounds(this);

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

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

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


 


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


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