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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.05.2009, 01:41
Grumble вне форума Посмотреть профиль Отправить личное сообщение для Grumble Найти все сообщения от Grumble
  № 1  
Ответить с цитированием
Grumble
[+6 13.05.06]

Регистрация: May 2006
Сообщений: 29
По умолчанию Управление загруженными внешними swf

Привет всем,
Пытаюсь в свой ролик загрузить swf извне:
Код AS3:
    var url:String = "ai2.swf";
    var loader:Loader = new Loader();
    var request:URLRequest = new URLRequest(url);
    loader.load(request);
    container.addChild(loader);
container это экземпляр пустого movieclip в который я хочу загружать внешний мувик.
Проблемы две:
мувик загружается, изначально позиционируется по координам container - всё как надо, но через 2-3 секунды почему-то вылетает из этих границ и живет своей жизнью. Хочется как-то это исправить, то есть мне надо,чтобы внешний мувик вне зависимости от его размеров,загружался в определенную координату на сцене и был заданных размеров. Разве не достаточно это определить в пустом container куда загрузится мувик?
вторая проблема..то есть вопрос, как мне управлять загруженными мувиками? При загрузке они сразу начинают проигрываться, и не реагируют на container.stop()..

Старый 06.05.2009, 03:12
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 2  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Вы грузите мувик не в container, а в loader. Тоесть, чтобы обратиться к загруженному мувику, нужно обратиться к loader, точнее к loader.content. Для него же задавать координаты и размеры, у него же вызывать stop.

В вашем случае иерархия получается такая:
Код:
+ мувик, в котором написан код
|
+--+container
   |
   +--+loader
      |
      +--content (заруженный мувик)
Насчет проблем с позиционированием - попробуйте выставить выравнивание сцены в TL. Нужные размеры можно задать, поймав событие завершения загрузки Event.COMPLETE
__________________
тонкий тролль, осеянный благодатью

Старый 06.05.2009, 13:57
Grumble вне форума Посмотреть профиль Отправить личное сообщение для Grumble Найти все сообщения от Grumble
  № 3  
Ответить с цитированием
Grumble
[+6 13.05.06]

Регистрация: May 2006
Сообщений: 29
Спасибо. Попробовал обратиться к loader.content, получил 1061: Call to a possibly undefined method stop through a reference with static type flash.displayisplayObject.
В Гуглу накопал,что надо делать что-то типа этого:
Код AS3:
var movie:*=loader.content;
var clip:MovieClip=movie;
clip.stop();
попробовал и получил такое:
TypeError: Error #1034: Type Coercion failed: cannot convert flash.display::AVM1Movie@3e7c509 to flash.display.MovieClip.
at playertest1_fla::MainTimeline/completeHandler()
Это нормально?

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

Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
Видимо, подгружаемый swf написан не на AS3.
__________________
Griver

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

Регистрация: Aug 2005
Сообщений: 35
Цитата:
Сообщение от Grumble Посмотреть сообщение
Спасибо. Попробовал обратиться к loader.content, получил 1061: Call to a possibly undefined method stop through a reference with static type flash.displayisplayObject.
В Гуглу накопал,что надо делать что-то типа этого:
Код AS3:
var movie:*=loader.content;
var clip:MovieClip=movie;
clip.stop();
По-моему, лучше так:
Код AS3:
var movie:MovieClip = loader.content as MovieClip;
movie.stop();
либо так:
Код AS3:
var movie:MovieClip = MovieClip(loader.content);
movie.stop();
Но, если свфка под AVM1, то это естесственно не поможет )

Старый 06.05.2009, 16:02
Grumble вне форума Посмотреть профиль Отправить личное сообщение для Grumble Найти все сообщения от Grumble
  № 6  
Ответить с цитированием
Grumble
[+6 13.05.06]

Регистрация: May 2006
Сообщений: 29
мда..загружаемый swf это сконвертированный avi..

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

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

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


 


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


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