Вопрос не сложный, но что-то запутался.
Мне нужно натянуть текстуру на текст - цифра "8" допустим.

Код AS3:
num = new TextField (200, 250, '', 'Arial', 200);
addChild(num);
num.text = '8';
image = new ImageLoader();
image.source = 'assets/7.jpg';// текстура
image.addEventListener(Event.COMPLETE, imageLoaded);
bg = new MaskedSprite();
addChild(bg);
bg.addChild(image);
bg.mask = num;
Собственно класс MaskedSprite

Код AS3:
public class MaskedSprite extends Sprite
{
public var mask:DisplayObject;
private static const MASK_MODE_INVERTED:String = "maskinverted";
public function MaskedSprite()
{
BlendMode.register(MASK_MODE_INVERTED, Context3DBlendFactor.ZERO, Context3DBlendFactor.ONE_MINUS_SOURCE_ALPHA, false);
}
override public function render(support:RenderSupport, parentAlpha:Number):void
{
var _this:MaskedSprite = this;
if (mask != null)
{
RenderTexturePool.instance.getTemporal(function(eraserTexture:RenderTexture):void {
RenderTexturePool.instance.getTemporal(function(composedTexture:RenderTexture):void {
eraserTexture.clear();
composedTexture.clear();
eraserTexture.draw(new Quad(eraserTexture.width, eraserTexture.height, 0xFFFFFF));
mask.blendMode = BlendMode.ERASE;
mask.visible = true;
eraserTexture.draw(mask, mask.getTransformationMatrix(Starling.current.root));
mask.visible = false;
for (var n:int = 0; n < numChildren; n++) composedTexture.draw(getChildAt(n), support.modelViewMatrix);
var eraserImage:Image = new Image(eraserTexture);
eraserImage.blendMode = MASK_MODE_INVERTED;
composedTexture.draw(eraserImage);
support.pushMatrix();
support.loadIdentity();
new Image(composedTexture).render(support, parentAlpha);
support.popMatrix();
});
});
}
else
{
super.render(support, parentAlpha);
}
}
}
Все отлично, все работает. Но теперь мне нужно сдвинуть либо текстуру так чтобы маска была в её пределах, либо маску в пределах текстуры. И получается что либо маска обрезается, либо вообще ничего не видно.
Где можно задать координаты маски или текстуры?