Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Bitmap Data и Rotation (http://www.flasher.ru/forum/showthread.php?t=115408)

PeTa4eK 28.08.2008 19:32

Bitmap Data и Rotation
 
Всем привет есть вопрос.
Например я draw'лю на битмап определенный спрайт, который повернут с помощью rotation, но когда он рисуется на битмапе то он возвращается в исходное положение и рисует. Как можно это исправить?

wvxvw 28.08.2008 19:36

Взять копию матрицы трансформации спрайта и передать ее методу draw().

PeTa4eK 29.08.2008 04:42

Можно узнать как? Я чуть порыскал в хелпе наткнулся на clone() ну никак не пойму как его юзать...

wvxvw 29.08.2008 12:33

Код:

var sourceBMP:BitmapData = new BitmapData(12, 12, false, 0xDDDDDD);
sourceBMP.fillRect(new Rectangle(0, 0, 6, 6), 0xAAAAAA);
sourceBMP.fillRect(new Rectangle(6, 6, 6, 6), 0xAAAAAA);
var sourceSPR:Sprite = new Sprite();
sourceSPR.graphics.beginBitmapFill(sourceBMP);
sourceSPR.graphics.drawRect(0, 0, 200, 200);
sourceSPR.graphics.endFill();
sourceSPR.rotation = 45;
addChild(sourceSPR);
var resultBMP:BitmapData = new BitmapData(sourceSPR.width, sourceSPR.height, false, 0xFF);
var mtx:Matrix = sourceSPR.transform.matrix.clone();
mtx.translate(sourceSPR.getBounds(sourceSPR).height * Math.sin(Math.PI / 4), 0);
resultBMP.draw(sourceSPR, mtx);
var bitmap:Bitmap = new Bitmap(resultBMP);
bitmap.x = 200;
addChild(bitmap);


PeTa4eK 29.08.2008 14:49

Спасибо! Верней огромнейшее спасибо! Благодарю!!! :yahoo:


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

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