PDA

Просмотр полной версии : Автозаполнение фона в резиновой флешке


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

Reijii
07.06.2006, 15:20
Хочу собрать полноэкранный *.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. просто выывай функцию с именем уже созданного клипа с заливкой и задавай новые размеры в массиве [], перезальет.