![]() |
MovieClip в BitmapData
Здравствуйте! Требуется ваша помощь:
Есть у меня Анимация в swf файле, я хочу переобразовать кадр с MovieClip в Bitmap и вывести на экран!Вот как я это делаю: Код:
package |
Клип img аттачится из библиотеки? Если да, сделай ему Linkage Class "img" и убери строчку
Код:
public var img:Class; |
EugeneLitvinov, кажется строчка
Код:
[Embed(source="robik.swf")] |
где-то на форуме было обсжудение, суть такая что методу draw вторым аргументом надо обязательно передавать обьект типа Matrix и 5-ым обьект типа Rectangle, т.е.
Код:
_bitmapData.draw(z, new flash.geom.Matrix(), null, "normal", new flash.geom.Rectangle(0,0,z._width,z._height)); |
Ну, сразу 2 вопроса: а почему 250, 250, true, 0x00FF00. Т.е. битмапдата будет прозрачная (тяжело заметить клип с альфой == 0 ;) )
И что будет если просто z добавить на сцену? И, млин, зачем называть классы с маленькой буквы? |
Цитата:
Когда гружу какую то картинку, работает, а когда swf- работать не хочет:(! Может у кого - то возникали такие проблемы? |
Ну, это если с двух раз не дошло, то с третего наверняка? =)
Да, так если битмапдата будет непрозрачная - то можно будет увидеть приаттачилась ли битмапдата (откуда ж мне знать, где именно ошибка?). И что со вторым вопросом? Что будет, если просто приаттачить z а не созданый из него битмап (может путь к сорсам неправильно указан, или первый кадр в swf пустой). |
wvxvw спасибо что отозвались, может вы поможете разобратся:)!
Ну, это если с двух раз не дошло, то с третего наверняка? =) Да это нет у меня заглючил:) Да, так если битмапдата будет непрозрачная - то можно будет увидеть приаттачилась ли битмапдата (откуда ж мне знать, где именно ошибка?). И что со вторым вопросом? Что будет, если просто приаттачить z а не созданый из него битмап (может путь к сорсам неправильно указан, или первый кадр в swf пустой). Ставил непрозрачной, рисуется сплошной квадрат. Пути все верны, иначе Флекс ругается!Пробовал просто z аттачить- ничего не помогло:(!Но когда гружу обычную картинку - все работает! Может я неправильно аттачу саму swf?Как правльно? |
Ну, вариант, в 250х250 верхнем левом углу загруженой флешки ничего нет / Графики вообще на сцене нет. А можно саму swf посмотреть, у меня аналогичный код работает просто.
|
2Venya2007:
Соль в реализации embed, когда вы ключается swf таким образом, то происходит примерно следующее: swf включается в виде byteArray, после чего загружается через Loader методом loadBytes. Следовательно на момент создания экземляра img он еще не загрузился, это происходит несколькими мгновениями позже. Ваш img в случае если речь идет о включении swf является наследником mx.core.MovieClipLoaderAsset (проверить это легко trace(getQualifiedSuperclassName(z)); ), у которого есть событие complete, полагаю если подписаться сразу после вызова конструктора на это событие и в обработчике срисовать в bitmapData, то все должно заработать. Если же нет, можно попробывать самому сделать все работу которую делает MovieClipLoaderAsset, то есть включить swf в виде byteArray и самому загрузить его через loadBytes, с подпиской на соответсвующие события. Здесь есть простой пример как это сделать - http://yarovoy.com/2007/10/27/embed_binary_data/ |
| Часовой пояс GMT +4, время: 10:59. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.