Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Bitmap и невидимые три четверти (http://www.flasher.ru/forum/showthread.php?t=127547)

Ar4ibald 16.07.2009 16:32

Bitmap и невидимые три четверти
 
Добрый день.

Функция, которая "растеризирует" мувик

Код AS3:

var bg = this.bg;
var rot = this;
rasterizeMovieClip(bg);
 
function rasterizeMovieClip(obj) {
 
        var bd_mc = new MovieClip();
        trace(obj.width);
        trace(obj.height);
        var bd = new BitmapData(obj.width, obj.height, true, 0x000000);
        bd.draw(obj);
        var myBitmap:Bitmap = new Bitmap(bd);
        bd_mc.addChild(myBitmap);
        bd_mc.x = obj.x;
        bd_mc.y = obj.y;
 
        while(bg.numChildren)
                                {
                                        bg.removeChildAt(0);
                                }
 
        bg.addChild(bd_mc);
 
}

Все отлично работает, но добавляет на экран только одну четверть мувика, остальные 3 четверти невидимы.
Что я неправильно сделал?

DeliMIter 16.07.2009 16:43

Скорее всего, содержимое исходного мувика центрировано относительно его внутренней системы координат. BitmapData.draw(...) же, если не указать иного, снимает область от (0, 0) вправо и вниз.

Ar4ibald 16.07.2009 16:50

а как указать другие координаты?

DeliMIter 16.07.2009 16:51

Аргумент matrix - матрица трансформации.

Волгоградец 16.07.2009 17:23

Цитата:

Сообщение от Ar4ibald (Сообщение 835942)
а как указать другие координаты?

Например так:
Код AS3:

bd.draw(obj, obj.transform.matrix);


Ar4ibald 16.07.2009 17:27

Спасибо огромное

marat_sa 17.07.2009 08:16

Можно просто у obj весь контент перенести в начало координат - то есть центр мувика не в середине, а в верхнем левом углу, тогда не нужно никаких матриц.
так
х----
|___|
|___|


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

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