Цитата:
|
Сообщение от gl0om
Хочу собрать полноэкранный *.exe мувик. Важно, чтобы фон этого мувика автомотчески ровно заполнялся кусками текстуры независимо от разрешения. Я пытался использовать Stage.width и height для заполнения фона, но ничего не вышло, заполняется только рабочая область, размеры которой я задаю в параметрах сцены.
Подскажите пожалуйста как мне сделать заливку фона текстурой.
|
вот когдато писал заливку не сложную картинкой

Код:
import flash.display.*;
import flash.geom.*;
//
/*
* target - имя клипа который будет создаватся
* bitmap - linkageID картинки в библиотеке
* dimentions - массив задающий раззмер клипа [x, y, width, height]
* depth - собственно желаемая глубина где будет создаватся клип
*/
function bitmapFill(target:String, bitmap:String, dimensions:Array, depth:Number):Void
{
var startX:Number = dimensions[0];
var startY:Number = dimensions[1];
var fillWidth:Number = startX + dimensions[2];
var fillHeight:Number = startY + dimensions[3];
var bitmapData:BitmapData = BitmapData.loadBitmap(bitmap);
//
if (depth)
{
this.createEmptyMovieClip(target, depth);
}
else
{
this.createEmptyMovieClip(target, this.getNextHighestDepth());
}
//
with (this[target])
{
matrix = new Matrix();
repeat = true;
beginBitmapFill(bitmapData, matrix, repeat, smoothing);
moveTo(startX, startY);
lineTo(startX, fillHeight);
lineTo(fillWidth, fillHeight);
lineTo(fillWidth, startY);
lineTo(startX, startY);
endFill();
}
this[target]._xscale = 100;
this[target]._yscale = 100;
}
пример вызова:

Код:
bitmapFill("rootBg", "gray_fill", [0, 0, 902, 715], 1);
при ресайзе Stage. просто выывай функцию с именем уже созданного клипа с заливкой и задавай новые размеры в массиве [], перезальет.