S.o.S con función
Publicado por falkomari (1 intervención) el 19/02/2008 20:45:31
Buenas noches, no se si alguien mep puede hechar un cable.
Tengo un problema con el código que muestro a continuación.
mi intención es cargar desde un fichero xml una serie de fotospara luego escalarlas a unos tamaños, para hacer una galería. El problema es que leo el xml, sin problemas pero luego no soy capaz de reescalar la foto. El código que tengo preparado sobre el Timeline es
anchoOriginal = 500;
altoOriginal = 400;
//************************************************//
//PRINCIPAL//
xmlData = new XML();//Nuevo objeto XML
xmlData.ignoreWhite = true;//Ignorar espacios en blanco
xmlData.onLoad = loadXML;//LLamamos a loadXML()
xmlData.load("galeria/images.xml");//cargamos XML
xmlData.onLoad=function(){
xmlNode = this.firstChild;
image = [];
tit = [];
coment = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
tit[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
coment[i] = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue;
}
picture.loadMovie(image[0],1);
rescalar();
}
tit_txt.text = tit[0];
desc_txt.text = coment[0];
picture_num();
//************************************************//
//FUNCION QUE CONTROLA NUMERACION DE IMAGENES//
function picture_num() {
current_pos = p+1;
pos_txt.text = current_pos+" / "+total;
}
//*************************************************//
function rescalar() {
picture._xscale = picture._yscale=100;
//Nos aseguramos que partimos de la escala base
//Dictaminamos si debemoscalcular el ancho o el alto
trace(anchoOriginal/altoOriginal);
trace(picture._width/picture._height);
if ((anchoOriginal/altoOriginal)<(picture._width/picture._height)) {
trace("Foto Ancha");// La foto es ancha por lo que el ancho=500 y el alto lo calculamos
alto = (anchoOriginal*picture._height)/picture._width;
picture._width = 500;
picture._height = alto;
trace(alto);
} else {
trace("Foto Alta");
ancho = (anchoOriginal*picture._width)/picture._height;
picture._width = ancho;
picture._height = 400;
trace(ancho);
}
escalado = true;
}
Muchas gracias por adelantado.
Tengo un problema con el código que muestro a continuación.
mi intención es cargar desde un fichero xml una serie de fotospara luego escalarlas a unos tamaños, para hacer una galería. El problema es que leo el xml, sin problemas pero luego no soy capaz de reescalar la foto. El código que tengo preparado sobre el Timeline es
anchoOriginal = 500;
altoOriginal = 400;
//************************************************//
//PRINCIPAL//
xmlData = new XML();//Nuevo objeto XML
xmlData.ignoreWhite = true;//Ignorar espacios en blanco
xmlData.onLoad = loadXML;//LLamamos a loadXML()
xmlData.load("galeria/images.xml");//cargamos XML
xmlData.onLoad=function(){
xmlNode = this.firstChild;
image = [];
tit = [];
coment = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
tit[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
coment[i] = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue;
}
picture.loadMovie(image[0],1);
rescalar();
}
tit_txt.text = tit[0];
desc_txt.text = coment[0];
picture_num();
//************************************************//
//FUNCION QUE CONTROLA NUMERACION DE IMAGENES//
function picture_num() {
current_pos = p+1;
pos_txt.text = current_pos+" / "+total;
}
//*************************************************//
function rescalar() {
picture._xscale = picture._yscale=100;
//Nos aseguramos que partimos de la escala base
//Dictaminamos si debemoscalcular el ancho o el alto
trace(anchoOriginal/altoOriginal);
trace(picture._width/picture._height);
if ((anchoOriginal/altoOriginal)<(picture._width/picture._height)) {
trace("Foto Ancha");// La foto es ancha por lo que el ancho=500 y el alto lo calculamos
alto = (anchoOriginal*picture._height)/picture._width;
picture._width = 500;
picture._height = alto;
trace(alto);
} else {
trace("Foto Alta");
ancho = (anchoOriginal*picture._width)/picture._height;
picture._width = ancho;
picture._height = 400;
trace(ancho);
}
escalado = true;
}
Muchas gracias por adelantado.
Valora esta pregunta
0