PDA

Просмотр полной версии : Резиновый флеш


Виталий837
16.05.2011, 11:32
Попытка модифицировать код из flash-mx.ru (http://flash-mx.ru/url_elastic)

Но код начинает работать только после изменения окна,
сразу после запуска изображение искаженное.

Что нужно сделать чтобы код работал адекватно?



Stage.scaleMode = "noScale";
Stage.align = "TL";
var resize_obj = {};


resize_obj.normal_width = 400;


resize_obj.normal_height = 400;


resize_obj.position = [preloader,main];


resize_obj.onResize = function()
{


var clip;
for (var i in this.position) {

clip = this.position[i];


clip._x = Stage.width*clip._xRatio;
clip._y = Stage.height*clip._yRatio;


if (clip._widthRatio != undefined) {
clip._width = Stage.height*clip._heightRatio;
}

if (clip._heightRatio != undefined) {
clip._height = Stage.height*clip._heightRatio;
}
}
};


Stage.addListener(resize_obj);


var clip;
for (var i in resize_obj.position) {

clip = resize_obj.position[i];


clip._xRatio = clip._x/resize_obj.normal_width;


clip._yRatio = clip._y/resize_obj.normal_height;
}

main._widthRatio = main._width/resize_obj.normal_width;
main._heightRatio = main._height/resize_obj.normal_height;


resize_obj.onResize();
stop();

dark256
16.05.2011, 12:17
resize_obj.onResize();

onResize - имя метода, но не имя функции; его не вызывают, его назначают :)
Вызывается он САМ по событию.

Добавлено через 3 минуты
function setResize()
{
//все красиво раставляем
}

resize_obj.onResize = setResize

Stage.addListener(resize_obj);

setResize()