Я пытаюсь изменить размер растрового изображения для проекта, над которым мы работаем в версии 3.0.По сути, у нас есть куча спрайтов, которые рисуются в bitmapData и затем сохраняются в векторе.Данные в векторе в конечном итоге сохраняются в растровом объекте.Теперь я хочу уменьшить размер спрайтов BitmapData, но не хочу обновлять матрицу 100 для этого.Есть ли другой способ?
У меня был некоторый успех, когда я масштабировал растровое изображение, которое отображается, но изображение выглядит немного неровным, и модели не поворачиваются при лунной прогулке.
У меня естьтакже устали Matrix.a = 0.4
и matrix.d = 0.4
, но это ничего не сделало.
Когда я сделал bitmap.scalex = 0.7
и то же самое для scaleY
, оно уменьшило его, но теперь они в воздухе, как х и у.Неправильно, и код, который они использовали для обратного, просто делал scalX *= -1
, который сейчас тоже не работает.Также я разобрался, как вытащить их из воздуха, но они, как и было сказано, перед тем, как зазубрины и лунная прогулка.Пожалуйста, помогите, поскольку я пытаюсь исправить код, который был написан до того, как я сюда попал.
В основном вот какой-то код, я получил одобрение от генерального директора:
у нас есть это:
var b:BitmapData = new BitmapData(CustomerRenderer.BLIT_WIDTH,
CustomerRenderer.BLIT_HEIGHT, true, 0x00000000);
for(var i:int=0; i<WRAPPER.numChildren; i++)
{
b.draw(Sprite(WRAPPER.getChildAt(i)),
WRAPPER.getChildAt(i).transform.matrix, null, null, b.rect, true);
}
_spriteSheet[_currentFrame] = b;
Затем мы используем эти данные в
BAKED_BITMAP.bitmapData = _spriteSheet[_currentFrame];
, чтобы отобразить их, где BAKED_BITMAP
- это растровое изображение
, а затем, чтобы перевернуть все, что делал человек, было:
BAKED_BITMAP.scaleX *= -1;
BAKED_BITMAP.x = (BAKED_BITMAP.scaleX >= 0) ? 0 : BLIT_WIDTH;
спасибо