![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Здравствуйте, мучает вопрос. Есть некий спрайт. В нем нарисован прямоугольник (-100, -100, 200, 200). Хочу этот квадрат отрисовать в битмап (200х200). Но дело в том что отрисовывается лишь четвертая часть - та котороя находится в "плюсовой" части спрайта, а все что находится в минусе - не попадает в битмап. Ну - это оно логично. Но как все-таки отрисовать весь квадрат? Параметр clipRect метода draw не подходит - проверял. Если clipRect задать (-100, -100, 200, 200) - все равно отрисовывается лишь четвертая часть
. Подскажите, пожалуйста, как можно решить эту задачу.Добавлено через 2 минуты PS: Я делаю это таким способом: помещаю спрайт квадрата в другой спрайт (на положительную область), и отрисовываю его. Но кажеться мне - это немного извращенно. Нет ли более изящных способов?
__________________
Я мало чего умею, но зато хорошо умею учиться... |
|
|||||
var sprite:Sprite = new Sprite(); sprite.graphics.beginFill(0x808080); sprite.graphics.drawRect( -100, -100, 200, 200); var bounds:Rectangle = sprite.getBounds(sprite); var mtrx:Matrix = new Matrix(); mtrx.translate(bounds.left, bounds.top); var bmd:BitmapData = new BitmapData(bounds.width, bounds.height); bmd.draw(sprite, mtrx); addChild(new Bitmap(bmd)); |
|
|||||
|
Спасибо товарищи, за советы. silin, так оно не малюет ничего. Я изменил:
на
, тогда намалевало
![]()
__________________
Я мало чего умею, но зато хорошо умею учиться... |
|
|||||
|
Ну, раз уж опытные сказали - значит так и сделаю. Только вопрос: чем лучше? Быстрее что ли?
__________________
Я мало чего умею, но зато хорошо умею учиться... |
![]() |
![]() |
Часовой пояс GMT +4, время: 15:36. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| BitmapData.draw |
|
|