Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   bitmapData.draw(Вложенные мувики) (http://www.flasher.ru/forum/showthread.php?t=211103)

KingMaks 25.06.2015 23:39

bitmapData.draw(Вложенные мувики)
 
Вложений: 2
Требуется помощь:) Есть мувиклип, в нем еще несколько мувиклипов (ноги, руки, торс) рис 1. Причем это все анимировано(бег персонажа). Если использовать bitmapData.draw(обычный мувик), то все хорошо, если же проделать такое со вложенными мувиками то получаются искажения рис 2. Есть ли способ преобразовать вложенность анимированых мувиков в битмапДату? Вот как это делаю я:
Код AS3:

public static function transform(_mcFlash:*, _frameRate:int = 30):MovieClip {
                        var _textures:Vector.<Texture> = new Vector.<Texture>();
                        var _texture:Texture;
 
                        for (var i:int = 0; i < _mcFlash.totalFrames; i++) {
                                _mcFlash.gotoAndStop(i);
                                var _bitmapData:BitmapData = new BitmapData(_mcFlash.width, _mcFlash.height);
                                _bitmapData.draw(_mcFlash);
                                _texture = Texture.fromBitmapData(_bitmapData);
                                _textures.push(_texture);
                        }
 
                        var _returned:MovieClip = new MovieClip(_textures, _frameRate);
 
                        return _returned;
                }


dimarik 25.06.2015 23:43

Минимальный пример приведите, пожалуйста. Вероятно это связано с трансформациями внутренних мувиков.

KingMaks 27.06.2015 00:40

Цитата:

Сообщение от dimarik (Сообщение 1184116)
Минимальный пример приведите, пожалуйста. Вероятно это связано с трансформациями внутренних мувиков.

Минимальный пример чего?

ZackMercury 27.06.2015 00:52

Вы хотите отрисовать отдельные вложенные мувики?
А вы Matrix передаёте в draw?

Код AS3:

mc;
 
for(var i:int = 0; i < mc.numChildren; i ++)
{
  bitmapData.draw(mc.getChildAt(i), mc.getChildAt(i).transform.matrix);
}


KingMaks 27.06.2015 12:19

ZackMercury, передал, тот же эффект. Да хочу отрисовать отдельные вложенные мувики
Код AS1/AS2:

public static function transform(_mcFlash:*, _frameRate:int = 30):MovieClip {
                        var _textures:Vector.<Texture> = new Vector.<Texture>();
                        var _texture:Texture;
 
                        for (var i:int = 0; i < _mcFlash.totalFrames; i++) {
                                _mcFlash.gotoAndStop(i);
                                var _bitmapData:BitmapData = new BitmapData(_mcFlash.width, _mcFlash.height);
                                //_bitmapData.draw(_mcFlash);
                                for(var j:int = 0; j < _mcFlash.numChildren; j ++)
                                {
                                  _bitmapData.draw(_mcFlash.getChildAt(j), _mcFlash.getChildAt(j).transform.matrix);
                                }
                                _texture = Texture.fromBitmapData(_bitmapData);
                                _textures.push(_texture);
                        }
 
                        var _returned:MovieClip = new MovieClip(_textures, _frameRate);
 
                        return _returned;
                }


in4core 27.06.2015 13:16

Цитата:

var _returned:MovieClip = new MovieClip(_textures, _frameRate);
Мувиклип не принимает параметров в конструктор или я что то упустил ?!!!

udaaff 27.06.2015 13:17

Это старлинг.


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

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