Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как то не правильно работает matrix (http://www.flasher.ru/forum/showthread.php?t=188136)

razerw 29.11.2012 10:50

Как то не правильно работает matrix
 
Добрый день. второй день бьюсь с матрицей которая не хочет перемещать спрайт в заданных направлениях, вот код.

Код AS3:

                public function drawHom():void
                {
                        //Создается матрица
                        _matrix = new Matrix();
 
 
                        for (var i:int = 0; i < 3; i++)
                        {
                                for (var j:int = 0; j < 3; j++)
                                {       
 
                                            _matrix.tx = 250;
                                            _matrix.ty = 250;
                                            _bmpDat.draw(_hom, _matrix);//_hom этот спрайт не отображается на сцене, но если из аргументов удалить то спрайт отображается!
 
 
                                }
                        }
 
                _debugGrid.bitmapData = _bmpDat;
                }

_bmpDat.draw(_hom, _matrix) если из аргументов удалить _matrix то _hom на сцене отображается. Очень странно данная функция работает в другом классе. Тот класс в ктором отрабатывает эта функция представляет копию.
Очень интересно происходит если после определения _matrix.tx = 250; _matrix.ty = 250; этих параметров поставить такие параметры _matrix.identity(); _matrix.translate(0, 0); то спрайт _hom отображается но в левом верхнем углу. подскажите пожалуйста что я не так делаю с этой МАТРИЦЕЙ!? :wacko:

Волгоградец 29.11.2012 11:29

С матрицей все правильно. _bmpDat какого размера?

razerw 29.11.2012 11:32

_bmpDat = new BitmapData(20, 20, true, 0x00000000);

Добавлено через 32 секунды
сам спрайт таких же размеров

i.o. 29.11.2012 11:43

Цитата:

Сообщение от razerw (Сообщение 1106820)
_bmpDat = new BitmapData(20, 20, true, 0x00000000);

Добавлено через 32 секунды
сам спрайт таких же размеров

Так рисуется же в координатах 250, 250... Т.е. за пределами поля 20х20

Волгоградец 29.11.2012 11:43

Вот смотри. У тебя битмапдата размером 20 на 20. И ты хочешь отрисовать в нее спрайт в положение 250 по икс и 250 по игрек. Конечно не получится, ибо ты вышел за границы этой битмапы. Сделай ее больше.

razerw 29.11.2012 11:46

Вот я даю!!
Я рисую не в координатах области видимости!!!!
Спасибо друг!)


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

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