Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   MovieClip в BitmapData (http://www.flasher.ru/forum/showthread.php?t=114054)

Venya2007 18.07.2008 15:00

wvxvw куда вам можно закинуть флешку?

vooparker - спасибо, сейчас попробую!

wvxvw 18.07.2008 15:04

расширеный режим -> управление вложениями -> загрузить. (можно не именно ту, которая в проэктe, а с похожим функционалом, если копирайты и т.п. =)
ЗЫ. vooparker дело говорит, над его слушать =)

Venya2007 18.07.2008 15:09

Не могу загрузить:
вот что пишет:
robik2.swf:
Некорректный файл

wvxvw 18.07.2008 15:21

Ну так там же в таблице показаны допустимые типы... SWF нельзя, но можно RAR или ZIP

Venya2007 18.07.2008 15:29

vooparker вот пишу:
Код:

package {
        import flash.display.Loader;
    import flash.display.*;
    import flash.events.Event;

        public class loadSWF extends Sprite
        {
                [Embed(source="robik.swf", mimeType="application/octet-stream")]
        private var Resources:Class;
       
                public function loadSWF()
                {
                        var loader:Loader = new Loader();
                          var someClass:MovieClip = new MovieClip();
            loader.contentLoaderInfo.addEventListener(Event.INIT, resourceInitHandler);

            loader.loadBytes(new Resources());
            someClass=MovieClip(loader);
            addChild(someClass)                       
                }
               
                private function resourceInitHandler (e:Event):void
        {
            // Извлекаем и создаем экземпляр класса из включенного swf
            var SomeClass:Class = e.target.content.loaderInfo.applicationDomain.getDefinition("SomeClass") as Class;
            var someClass:MovieClip = new SomeClass();
           
           
           
        }
        }
}

пока не сделаю addChild(loader) ничего не рисуется!А мне нужно еще и управлять загруженой swf -кой, тоесть сделать ее обьектом класа MovieClip! Возможно ли такое?

wvxvw не позволяет загрузить, перевышает максимальный размер:(

wvxvw 18.07.2008 16:05

Ну, не знаю, у меня в таком виде все работает...
Код:

package 
{
        import flash.display.Sprite;
        import flash.display.Bitmap;
        import flash.display.BitmapData;
        import flash.display.Loader;
        import flash.events.Event;
        import flash.utils.ByteArray;
        import flash.geom.Matrix;
       
        /**
        * ...
        * @author wvxvw
        */
        public class TestEmbed extends Sprite
        {
                [Embed(source='../library/testfla.swf', mimeType="application/octet-stream")]
                public var TEmbed:Class;
                public var sprt:Sprite;
                public var ba:ByteArray;
                public var bmp:Bitmap;
                public var bmpd:BitmapData;
                public var loader:Loader;
                public var matrix:Matrix;
               
                public function TestEmbed()
                {
                        loader = new Loader();
                        loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadBytes);
                        ba = new TEmbed() as ByteArray;
                        loader.loadBytes(ba);
                }
               
                private function onLoadBytes(evt:Event):void
                {
                        sprt = loader.content as Sprite;
                        sprt = sprt.getChildAt(0) as Sprite;
                        matrix = sprt.transform.matrix.clone();
                        bmpd = new BitmapData(sprt.width, sprt.height, true, 0xFF000000);
                        bmpd.draw(sprt);
                        // or bmpd.draw(sprt, matrix); if you want
                        // the transformations applied to the loader.content
                        // to preserve in bitmapdata object.
                        bmp = new Bitmap(bmpd);
                        addChild(bmp);
                }
        }
       
}


Venya2007 18.07.2008 16:26

У меня не работает! Но вот когда ставлю addChild(loader) - работает

Venya2007 18.07.2008 16:35

wvxvw - все верно:)! я же грузил флешку с АС2!В таком случае нужно приводить к типу AWM1Movie. А когда флешка с АС3, тогда к типу MovieClip!Все работает, разобрался,всем спасибо!Но огромнейшее спасибо wvxvw - очень помогли, так держать!

wvxvw 18.07.2008 16:35

Ну, не знаю... попробуйте сделать то же самое с другой SWF, код рабочий...

Venya2007 18.07.2008 16:36

wvxvw - все верно! я же грузил флешку с АС2!В таком случае нужно приводить к типу AWM1Movie. А когда флешка с АС3, тогда к типу MovieClip или выше по иерархии!Все работает, разобрался,всем спасибо!Но огромнейшее спасибо wvxvw - очень помогли, так держать!


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

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