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

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

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

Регистрация: Aug 2007
Сообщений: 6
По умолчанию SCOPE и загрузка ролика swf

Всем привет!
Столкнулся с такой проблемой: загружаю с помощью Loader ролик swf.
он начинает проигрываться, нормально, но проблема в том, что он не видит переменных и SCOPE PARENT ролика в который я его добавил.
Как быть может есть другие способы загрузки ролика? в AS2 это можно было сделать .

Старый 27.08.2007, 19:44
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А подгружаемый ролик какой версии?

Старый 28.08.2007, 17:34
antonimo вне форума Посмотреть профиль Отправить личное сообщение для antonimo Найти все сообщения от antonimo
  № 3  
Ответить с цитированием
antonimo

Регистрация: Aug 2007
Сообщений: 6
Ролик версии 9.0, Flash CS3

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

Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
1. Возможно переменные protected.
2. Возможно надо дождаться события INIT (parent доступен только после этого события, а не сразу после загрузки).
3. Может быть parent - это не тот объект, что Вы думаете (этот parent: loaderInfo.loader.parent?)
4. Возможно это cross domain проблемы.

Другого способа загрузки нет, надо искать в этом...
__________________
Верить никому нельзя. Мне - можно. :)

Старый 29.08.2007, 07:37
antonimo вне форума Посмотреть профиль Отправить личное сообщение для antonimo Найти все сообщения от antonimo
  № 5  
Ответить с цитированием
antonimo

Регистрация: Aug 2007
Сообщений: 6
событие инит, это идея. Посмотрю... пасиб

Старый 29.08.2007, 11:33
antonimo вне форума Посмотреть профиль Отправить личное сообщение для antonimo Найти все сообщения от antonimo
  № 6  
Ответить с цитированием
antonimo

Регистрация: Aug 2007
Сообщений: 6
узнал что root в загружаемом ролике это его собственный root, а вот stage вроде один у всего проекта.
Удалось передать загружаемому ролику переменную MovieClip, например mc, которая является parent загружаемого ролика, тобишь внего вставляется.

допустим у этого parent было объявлена переменная var1.
Внутри загружаемого ролика после события ADDED_TO_STAGE обращаюсь к mc.var1 и flash меня посылает, не работает. Что делать, хз ((((

Может попробовать описать класс, с теми данными, которые мне нужны, туда их забить, загрузить ролик и передать ему экземпляр этого класса.
А в загружаемом ролике сделать import описания этого класса, чтоб сука флэш знал что к чему, и захавать этот экземпляр, который передаст перент. Как думаете? бред.... или нет?

Можно ли к объектам сцены обращаться не через точку, а как нить по другому? как нить ["object_name"] или еще как?


Последний раз редактировалось etc; 29.08.2007 в 13:28.
Старый 29.08.2007, 13:28
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
antonimo, ещё раз я увижу более двух постов подряд — буду ставить плюсы.
Посты нужно редактировать, если надо что-то добавить.

Старый 29.08.2007, 15:29
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 8  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Цитата:
Сообщение от antonimo
допустим у этого parent было объявлена переменная var1.
Внутри загружаемого ролика после события ADDED_TO_STAGE обращаюсь к mc.var1 и flash меня посылает, не работает. Что делать, хз ((((

Может попробовать описать класс..
имхо так и надо, все логично тогда..
main.swf(Main.as) грузит child.swf (Child.as)
"init" MovieClip что-то не генерит (и не должен по документации), "added" тоже не при делах оказалось..
повесил на "enterFarme"
Код:
package {
	import flash.display.Loader;
	import flash.display.MovieClip;
	import flash.net.URLRequest;

	public class Main extends MovieClip{
		public var var1:String="var 1";
		public function Main(){
			var loader:Loader=new Loader();
			loader.load(new URLRequest("child.swf"));
			addChild(loader);
		}
	}
}
Код:
package {
	import flash.display.MovieClip;
	import flash.events.*;
	public class Child extends MovieClip{
		public function Child(){
			addEventListener(Event.ENTER_FRAME,enterFrame);
		}
		private function enterFrame(evnt:Event){
			trace(parent);//[object Loader]
			var main:Main=parent.parent as Main;
			trace(main);//[object Main]
			if(main){
				trace(main.var1);//var 1
			}
			removeEventListener(Event.ENTER_FRAME,enterFrame);
		}
	}
	
}

Старый 29.08.2007, 16:16
Dendroid вне форума Посмотреть профиль Отправить личное сообщение для Dendroid Посетить домашнюю страницу Dendroid Найти все сообщения от Dendroid
  № 9  
Ответить с цитированием
Dendroid
 
Аватар для Dendroid

Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
У меня примерно так работало:
Код:
loaderInfo.addEventListener(Event.INIT, initHandler);
function initHandler (event:Event) {
	if (loaderInfo.loader!=null) { // проверяем, что мувик загружен, а не запущен сам по себе
		var var1 = loaderInfo.loader.parent.var1;
	
	}
}
Можно и так обращаться:
Код:
loaderInfo.loader.parent["var"+1]
и так проверять, чтобы быть уверенным:
Код:
loaderInfo.loader.parent.hasOwnProperty("var1")
__________________
Верить никому нельзя. Мне - можно. :)

Старый 29.08.2007, 16:29
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
А я бы интерфейс бы прикрутил ко всему этому…

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

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

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


 


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


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