Визуализация текста в pixelbender была бы совершенно сумасшедшей. Есть гораздо более простой способ.
Не используйте ось z, вместо этого делайте параллакс самостоятельно, если только клипы не преобразованы, но только переведенная вспышка может их кэшировать, и все будет хорошо и быстро.
Я бы добавил их в массив и затем обновил все позиции в каждом кадре. Чтобы было удобно иметь их в массиве, я бы создал небольшой класс, чтобы связать смещение для каждого спрайта:
class Parallax
{
public var sprite:DisplayObject;
public var offset:Number = 1;
public function ParallaxedSprite(sprite:DisplayObject, offset:Number) {
this.sprite = sprite;
this.offset = offset;
}
}
Как только этот класс создан, мы добавляем каждый из клипов / спрайтов, которые мы хотим параллаксить в массив:
var _sprites:Array = [ new ParallaxedSprite(foo, 1),
new ParallaxedSprite(bar, .75),
new ParallaxedSprite(baz, .5) ];
(квадратные скобки - сокращение для создания массива)
Затем, каждый кадр мы перебираем по списку и устанавливаем смещения соответственно:
var offsetX:Number = 100;
var offsetY:Number = 100;
for each (var parallax:Parallax in _sprites) {
parallax.sprite.x = offsetX * parallax.offset;
parallax.sprite.y = offsetY * parallax.offset;
}
И, наконец, чтобы получить последнее повышение скорости, установите свойство cacheAsBitmap для ваших спрайтов:
foo.cacheAsBitmap = true;
bar.cacheAsBitmap = true;
baz.cacheAsBitmap = true;
Обратите внимание, что cacheAsBitmap ускорит отрисовку ваших спрайтов до тех пор, пока они не преобразуются, но как только вы преобразуете их с этим набором, у вас появятся дополнительные затраты на воссоздание этого кэша, поэтому, если вы планируете вращать / масштабировать много лучше оставить.