Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Внедрение swf в flex и использование MovieClip'ов (http://www.flasher.ru/forum/showthread.php?t=133595)

Juster 08.12.2009 19:24

Внедрение swf в flex и использование MovieClip'ов
 
Здравствуйте!

У меня есть свой swf с многокадровыми MovieClip'ами в library. Необходимо внедрить мувиклипы во flex приложение, добавить поведение (т.е. написать класс мувиклипу), и вывести на stage приложения.

Вопросы:
1) Можно ли описать поведение для этим мувиклипов внутри flex приложения? Если да, то с каким синтаксис? Во Flash IDE там можно было указывать в настройках мувиклипа, к какому классу линковать, а в Flex такого нет.

2) Можно ли описать поведение внутри swf библиотеки? Если да, то экспортируются ли классы во Flex? Думаю, да, но решил все таки спросить ;)

3) Я знаю как создавать MovieClipAsset во Flex:
Код AS3:

[Embed(source="../resources/movieclip_lib.swf", symbol='TestMC256')]
private var _testAssetClass : Class;
var clip : MovieClipAsset = new _testAssetClass();
...

А как создавать классы из эмбедденного swf?

4) Чтобы удалить созданный instance мувиклипа, достаточно отсоединить его из дерева объектов?

5) Как удалить instance мувиклипа в коде самого мувиклипа? Что-то вроде:
Код AS3:

parent.removeChild(this); ?

Спасибо большое! :drinks:

Добавлено через 4 минуты
Небольшая заметка: Я хочу обойтись без ипользования SWFLoader и Image компонент.

alatar 09.12.2009 03:45

1,2,3 сделайте swc
4. нет не достаточно, нужно еще удалить все ссылки на объект, слушателей и таймеры (воспользуйтесь поиском, тема не единожды обсуждалась).
5. так как вы и написали, но лучше так не делать, можно, например послать событие, по-которому родитель убьет потомка.
Небольшая заметка: хотите - обходитесь.

wvxvw 09.12.2009 04:13

Ембедидть лучше не так:
Код AS3:

[Embed(source="", symbol="")]
public class MyAsset extends Sprite // or MovieClip
{
...

Плюсы - вы не создаете лишнюю никому по большому счету ненужную переменную, класс с дурацким автоматически сгенеренным именем, наследуетесь непосредственно от билт-ин класса (вместо никому не нужного SpriteAsset / MovieClipAsset, можете добавить ваш функционал непосредственно символу, а не дописывать класс-оболочку.
Минусы - ну если какой-нить умник где-нибудь во фрейморке что-нибудь кастовал в SpriteAsset / MovieClipAsset - можно пролететь, но вообще, вряд ли.

AlKir 14.12.2009 14:05

Если я пытаюсь сделать такой эмбед внутри основного класса
Код AS3:

[Embed(source="", symbol="")]
public class MyAsset extends MovieClip
{
...
}

Мне флекс говорит Classes must not be nested

Подскажите, а возможно ли таким методом затянуть swf в которой лежит внедренное видео, а затем управлять им перемещаясь по кадрам?
Собственно видео уже получается внедрить как MovieClipAsset, но оно воспроизводится в фоне сразу после старта приложения и gotoAndPlay, gotoAndStop для него не работают :(


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

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