Arooter
09.11.2009, 19:05
Прошу отнестись с пониманием, т.к. во флеше новичок. У меня проблема с загрузкой картинки во флеш ролик. Код взял готовый, т.е. писал не сам, но частично переделал под себя, а дальше не получается сделать так, чтобы картинка появлялась не по нажатию кнопки, а данные брались из html файла в котором размещается сама флешка. Т.е. суть вопроса в том, как доработать код, чтобы под данным из html файла загружалась нужная картинка?
//размеры картинки
clip.maxWidth = 300;
clip.maxHeight = 400;
clip.allowEnlarge = false;
clip.loadImage = function(file)
{
this.image.removeMovieClip();
this.createEmptyMovieClip("image", 0);
this.image.loadMovie(file);
this.onEnterFrame = function()
{
var l = this.image.getBytesLoaded();
var t = this.image.getBytesTotal();
if (t>0 && l>=t)
{
// загрузка закончилась
delete this.onEnterFrame;
this.resize();
}
};
};
clip.resize = function()
{
var ratio_x = this.maxWidth/this.image._width;
var ratio_y = this.maxHeight/this.image._height;
if (ratio_x<=ratio_y)
{
// выполняем, если нужно уменьшить,
// или увеличить+увеличение разрешено
if (ratio_x<1 || this.allowEnlarge)
{
// ширина равна максимальной
// а высота в соответствии с пропорцией
this.image._width = this.maxWidth;
this.image._yscale = this.image._xscale;
}
} else {
// выполняем, если нужно уменьшить,
// или увеличить+увеличение разрешено
if (ratio_y<1 || this.allowEnlarge)
{
// высота равна максимальной
// а ширина в соответствии с пропорцией
this.image._height = this.maxHeight;
this.image._xscale = this.image._yscale;
}
}
// центровка
this.image._x = Math.round((this.maxWidth-this.image._width)/2);
this.image._y = Math.round((this.maxHeight-this.image._height)/2);
};
//Путь к картинке для загрузки
var httppath = "valdub.jpg";
//данные из кода html
var number = _root.num;
var fname = _root.sfile;
TFnormal.htmlText = "<a href='asfunction:loadImage,"+"images/"+fname+"'>загрузить картинку</a>";
loadImage = function (file) {
_root.clip.loadImage(file);
};
//размеры картинки
clip.maxWidth = 300;
clip.maxHeight = 400;
clip.allowEnlarge = false;
clip.loadImage = function(file)
{
this.image.removeMovieClip();
this.createEmptyMovieClip("image", 0);
this.image.loadMovie(file);
this.onEnterFrame = function()
{
var l = this.image.getBytesLoaded();
var t = this.image.getBytesTotal();
if (t>0 && l>=t)
{
// загрузка закончилась
delete this.onEnterFrame;
this.resize();
}
};
};
clip.resize = function()
{
var ratio_x = this.maxWidth/this.image._width;
var ratio_y = this.maxHeight/this.image._height;
if (ratio_x<=ratio_y)
{
// выполняем, если нужно уменьшить,
// или увеличить+увеличение разрешено
if (ratio_x<1 || this.allowEnlarge)
{
// ширина равна максимальной
// а высота в соответствии с пропорцией
this.image._width = this.maxWidth;
this.image._yscale = this.image._xscale;
}
} else {
// выполняем, если нужно уменьшить,
// или увеличить+увеличение разрешено
if (ratio_y<1 || this.allowEnlarge)
{
// высота равна максимальной
// а ширина в соответствии с пропорцией
this.image._height = this.maxHeight;
this.image._xscale = this.image._yscale;
}
}
// центровка
this.image._x = Math.round((this.maxWidth-this.image._width)/2);
this.image._y = Math.round((this.maxHeight-this.image._height)/2);
};
//Путь к картинке для загрузки
var httppath = "valdub.jpg";
//данные из кода html
var number = _root.num;
var fname = _root.sfile;
TFnormal.htmlText = "<a href='asfunction:loadImage,"+"images/"+fname+"'>загрузить картинку</a>";
loadImage = function (file) {
_root.clip.loadImage(file);
};