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

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

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

Регистрация: Jan 2010
Сообщений: 91
По умолчанию Загрузка внешнего swf со встроенным кодом AS2.0

Есть возможность подгрузить внешнии swf командой

Код AS1/AS2:
NewMovie.loadMovie("1.swf");
Но к сожалению загружается только их графическая часть, а не внутреняя программная логика как быть?
В качестве внешних swf используются разработанные под 6-той плеер ..

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

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Вы уверены что ТАМ внутри именно АС2 ?
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

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

Регистрация: Feb 2006
Сообщений: 424
Отправить сообщение для E.Q. с помощью ICQ
Код загружаемого клипа должен выполняться.

А что за код внутри него? Если этот код обращается к своему кодовому содержимому через _root, то он будет стучаться к руту клипа его загрузившего. Попробуйте установить свойство _lockroot = false у загружаемого клипа.

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

Регистрация: Jan 2010
Сообщений: 91
Вот пример, который не получается запустить.

Для примера в загружаемом клипе
создаем мувик Anim с простой анимацией по кадрам
во внешнем слое пишем
Код AS1/AS2:
_root.GetStatus=function():Boolean
{
	return true;
}
 
setExam= function(value)
{
	_root.Anim.gotoAndStop(Number(value+1));
}
addProperty("Exam1",GetStatus,setExam);
Exam1 = 20;
Запускаем смотрим - сцена теперь статична на 20-м кадре.
//----------------------------------------------------------
Создаем новый флеш с отдельным мувиком Symb внутри
во внешнем слое пишем
Код AS1/AS2:
Symb.loadMovie("Example.swf");
Symb.Exam1 = 10;
Запускаем все мигает и мерцает.
И зто только самый простой пример!


Продолжение изыскания по совету E.Q. пишу
Код AS1/AS2:
Symb.loadMovie("Example.swf");
Symb._lockroot = true;
Но как оказывается это свойство работает, только начиная с 7 версии плеера и в шестой не поддерживается, что мне и нужно в итоге.
Есть ли альтернатива?


Последний раз редактировалось bas784; 28.07.2011 в 11:02.
Старый 28.07.2011, 11:26
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 5  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Ха! Так это, батенька, система безопасности!
Подгружаемый клип идет далеко и надолго с доступом к нулевому уровню.
Этак можно что угодно подгрузить куда угодно и все там перелопатить.

_root.GetStatus=function() - вот тут SandBox и пресекает все ваши дальнейшие поползновения.
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 28.07.2011, 12:00
bas784 вне форума Посмотреть профиль Отправить личное сообщение для bas784 Найти все сообщения от bas784
  № 6  
Ответить с цитированием
bas784

Регистрация: Jan 2010
Сообщений: 91
Мне нужно загрузить готовый флешь в отдельный мувик с доступом только у уровню самого мувика, в который он был загружен. Т. е. для меня он должен являться отдельным готовым объектом со своими функциями и свойствами.

Добавлено через 30 минут
Итог: Необходима альтернатива свойству _lockroot, для шестой версии плеера. Для определения, на что ссылкается ключевое слово _root при загрузке внешнего SWF файла в мувиклип.Какие могут быть предложения и замечания?

Добавлено через 2 часа 9 минут
Как решение, можно полностью отказаться от полного пути через _root в подгружаемом swf.

Старый 28.07.2011, 14:38
dark256 вне форума Посмотреть профиль Отправить личное сообщение для dark256 Посетить домашнюю страницу dark256 Найти все сообщения от dark256
  № 7  
Ответить с цитированием
dark256
 
Аватар для dark256

блогер
Регистрация: Apr 2008
Адрес: SPb
Сообщений: 3,718
Записей в блоге: 5
Отправить сообщение для dark256 с помощью ICQ Отправить сообщение для dark256 с помощью Skype™
Цитата:
Сообщение от bas784 Посмотреть сообщение
Как решение, можно полностью отказаться от полного пути через _root в подгружаемом swf.
Да. Это будет истинно правильное решение.
__________________
FLASHER.MAP SOUNDSTAGE / CS3 / AS2

Старый 29.07.2011, 00:36
MaxGr вне форума Посмотреть профиль Отправить личное сообщение для MaxGr Найти все сообщения от MaxGr
  № 8  
Ответить с цитированием
MaxGr

Регистрация: Jul 2011
Сообщений: 8
Нужно писать так:

Код AS1/AS2:
setExam= function(value)
{
	_root.ldr.Anim.gotoAndStop(Number(value+1));
}
addProperty("Exam1",GetStatus,setExam);
Exam1 = 20;
где ldr - имя клипа, в который вы подгрузили свою флешку. Ведь _root - это слой в главном клипе. А если вы загрузили в него другой клип то в нем нет рута. у него есть только _parent, а рут для него - это рут главного клипа. Соответственно если вы используете мувиклип для загрузки вашего клипа, то нужно еще указывать имя этого мувиклипа.

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Цитата:
Сообщение от dark256 Посмотреть сообщение
Ха! Так это, батенька, система безопасности!
Подгружаемый клип идет далеко и надолго с доступом к нулевому уровню.
Этак можно что угодно подгрузить куда угодно и все там перелопатить.

_root.GetStatus=function() - вот тут SandBox и пресекает все ваши дальнейшие поползновения.
не путаешь с AS3 ?
в AVM1 все именно так и обстоит: можно что угодно подгрузить куда угодно и все там перелопатить.
никто ничего не пресекает..

как вариант можно еще грузить с помощью loadMovieNum в другой уровень плеера, тогда его _root будет _leve1 плеера, например, и не совпадет с _root загружающего (_level0)

но отказаться от адресации через _root по-любому правильнее/надежнее

Старый 02.08.2011, 10:25
bas784 вне форума Посмотреть профиль Отправить личное сообщение для bas784 Найти все сообщения от bas784
  № 10  
Ответить с цитированием
bas784

Регистрация: Jan 2010
Сообщений: 91
А можно ли указать уже нарисованому объекту(мувику) в графической среде, уровень вложености?

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

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

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


 


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


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