Просмотр полной версии : Вытащить sprite из swf-ки
Здравствуйте.
Есть swf-ка из которой я гружу ресурсы (мувики, звуки).
Можно ли и как загрузить из swf-ки sprite?
Как я понял в настройках экспорта в AS Graphics - это и есть sprite, но его нельзя импортировать, как быть?
если известно инстанс имя, почему бы тебе к нему не обратиться
Нет, инстанс имени нет. Я беру из отдельной swf-ки с помощью getDefinition()
Возвращает ссылку на объект класса, заданного параметром name. (http://help.adobe.com/ru_RU/AS3LCR/Flash_10.0/flash/utils/package.html#getDefinitionByName())
В этом примере возвращается созданный мною же класс. Как быть с внешней swf?
mikhailk
04.01.2011, 20:44
http://help.adobe.com/ru_RU/AS3LCR/Flash_10.0/flash/system/ApplicationDomain.html#getDefinition%28%29
пример №1
ключевое:
public function getClass(className:String):Class {
try {
return loader.contentLoaderInfo.applicationDomain.getDefinition(className) as Class;
} catch (e:Error) {
throw new IllegalOperationError(className + " definition not found in " + swfLib);
}
return null;
}
Да, я так и делаю с мувиклипами, предварительно указав в "Export to ActionScript" имя класса. Если экспортирую кнопку - ставлю во Flash'e тип Button, если MovieClip - то тип MovieClip. А как спрайт то поставить?
mikhailk
05.01.2011, 12:41
Я так и не понял, что именно Вы называете спрайтом, но в общем виде так:
- получить из присоединенного swf можно только из библиотеки и только тот класс, который указан явно.
- если есть что-то в библиотеке, чему нельзя указать класс, его нужно обернуть в мувиклип и указать класс ему
В as3 есть класс sprite.
Во Flash я делаю swf-ку, в которой храню все ресурсы - звуки, мувики, кнопки...
Когда я во Flash нажимаю на символ правой кнопкой -> Properties - там есть комбобокс "Type" - тип символа - "Graphics", "MovieClip", "Button". Для анимации я ставлю MovieClip, для кнопки Button, ставлю галочку возле "Export to actionscript" и пишу название класса. Потом с помощью GetDefinition из кода вызываю этот класс. так вот с мувиками, кнопками, звуками - всё понятно. Я предположил что Type:Graphics - это и есть класс Sprite, но тогда он становится не экспортируемым (галочка становится неактивной). Что мне сделать во Flash, чтобы я мог из кода обратиться к классу и создать его экземпляр?
Делал раньше MovieClip, теперь надо немного оптимизировать, для этого неанимированые картинки хочу обозначить как Sprite.
cleptoman
05.01.2011, 18:59
мувиклип ставьте, потом при создании вашего экземпляра класса приведете к спрайту (если ваш класс наследник именно его) или интерфейсу нужному. тут в общем в контексте смотреть надобно.
Добавлено через 6 минут
п.с. кстате при линковке в библиотеке класса, наследуемого от спрайта начиная с CS4 в либе этот мувик показывает как спрайт (цвет зелененький такой) ))
mikhailk
05.01.2011, 20:11
Я предположил что Type:Graphics - это и есть класс Sprite
нет.
это не спрайт.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.