Ajustar swf a ventana

Buena zador
Me gustaria saber como hacer para que una pelicula de 1440x900 se ajuste a todas las ventanas y navegadores, probe cambiando unos parametros para publicar desde el flash pero en cuanto lo hago mi swf deja de funciona no me carga ni la galeria ni los textos recogidos de forma externa.
Si sabes de algun modo.

1 Respuesta

Respuesta
1
En el primer fotogram en flash po esto:
Stage.align = "TL";
Stage.scaleMode = "noScale";
Y en el codigo html donde esta embebido flash, el tamano de la peli swf tienes que expresar con porcentaje, no con pixels, asi que cambia el tamano de la peli swf ndentro del html a 100% x 100%
Hola zador gracias por tu respuesta pero no me sirvio, si que me quita los bordes pero cuando hago la pantalla del navegador mas pequeña mi flash no se reduce,
en cambio si hace lo que quiero cuando lo publico con los siguientes parametros y sin ponerle :
Stage.align = "TL"; 
Stage.scaleMode = "noScale";
plantilla:solo flash
porcentaje:100 x 100
modoventana:ventana
alineacion html:predeterminada
escala:predeterminada
alineacion flash centro ,centro,
el problema esque cuando ejecuto el html mi flash no funciona bien,no entiendo que pasa,lo hago en as2.
¿Y qué es lo que no funciona?
<script type="text/javascript">// <![CDATA[ /********************************************************
This Script will be included in all web pages
to show an Icon on Mouse over,
Clicking the Icon will show a Zoominto Viewer (a Flash made viewer) to Zoom the Image Content
********************************************************/
var tmppluginServername = "http://www.zoominto.com/software/ieplugin/";
var versionswf="1100";
var tmppluginSwfname=tmppluginServername + "imgviewerpremium" + versionswf + ".swf";
var protocol = "http://";
var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
plugin_run();
function BrowserZoomPlugin() {
var ua, s, i;
this.isIE = false;
this.isNS = false;
this.version = null;
ua = navigator.userAgent;
s = "MSIE";
if ((i = ua.indexOf(s)) >= 0) {
this.isIE = true;
this.version = parseFloat(ua.substr(i + s.length));
return;
}
s = "Netscape6/";
if ((i = ua.indexOf(s)) >= 0) {
this.isNS = true;
this.version = parseFloat(ua.substr(i + s.length));
return;
}
s = "Gecko";
if ((i = ua.indexOf(s)) >= 0) {
this.isNS = true;
this.version = 6.1;
return;
}
}
var browser = new BrowserZoomPlugin;
var dragObj = new Object;
dragObj.zIndex = 0;
function zoominto_dragStart(event, id) {
var el;
var x, y;
if (id) {
dragObj.elNode = document.getElementById(id);
} else {
if (browser.isIE) {
dragObj.elNode = window.event.srcElement;
}
if (browser.isNS) {
dragObj.elNode = event.target;
}
if (dragObj.elNode.nodeType == 3) {
dragObj.elNode = dragObj.elNode.parentNode;
}
}
if (browser.isIE) {
x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
}
if (browser.isNS) {
x = event.clientX + window.scrollX;
y = event.clientY + window.scrollY;
}
dragObj.cursorStartX = x;
dragObj.cursorStartY = y;
dragObj.elStartLeft = parseInt(dragObj.elNode.style.left, 10);
dragObj.elStartTop = parseInt(dragObj.elNode.style.top, 10);
if (isNaN(dragObj.elStartLeft)) {
dragObj.elStartLeft = 0;
}
if (isNaN(dragObj.elStartTop)) {
dragObj.elStartTop = 0;
}
dragObj.elNode.style.zIndex = ++dragObj.zIndex;
if (browser.isIE) {
document.attachEvent("onmousemove", zoominto_dragGo);
document.attachEvent("onmouseup", zoominto_dragStop);
window.event.cancelBubble = true;
window.event.returnValue = false;
}
if (browser.isNS) {
document.addEventListener("mousemove", zoominto_dragGo, true);
document.addEventListener("mouseup", zoominto_dragStop, true);
event.preventDefault();
}
}
function zoominto_dragGo(event) {
var x, y;
if (browser.isIE) {
x = window.event.clientX + document.documentElement.scrollLeft + document.body.scrollLeft;
y = window.event.clientY + document.documentElement.scrollTop + document.body.scrollTop;
}
if (browser.isNS) {
x = event.clientX + window.scrollX;
y = event.clientY + window.scrollY;
}
dragObj.elNode.style.left = dragObj.elStartLeft + x - dragObj.cursorStartX + "px";
dragObj.elNode.style.top = dragObj.elStartTop + y - dragObj.cursorStartY + "px";
if (browser.isIE) {
window.event.cancelBubble = true;
window.event.returnValue = false;
}
if (browser.isNS) {
event.preventDefault();
}
}
function zoominto_dragStop(event) {
if (browser.isIE) {
document.detachEvent("onmousemove", zoominto_dragGo);
document.detachEvent("onmouseup", zoominto_dragStop);
}
if (browser.isNS) {
document.removeEventListener("mousemove", zoominto_dragGo, true);
document.removeEventListener("mouseup", zoominto_dragStop, true);
}
}
function imgplayerprogress_DoFSCommand(command, args) {
var imgplayerprogressObj = isInternetExplorer ? document.all.imgplayerprogress : document.imgplayerprogress;
}
function zoominto_addElement(divIdName, htmlval) {
try {
var newdiv = document.createElement("div");
newdiv.setAttribute("id", divIdName);
newdiv.setAttribute("title", "");
newdiv.style.position = "absolute";
newdiv.style.display = "none";
newdiv.innerHTML = htmlval;
document.body.appendChild(newdiv);;
} catch (e) {
}
}
function zoominto_addmyelems(divIdName, htmlval) {
try {
var newdiv = document.createElement("div");
newdiv.setAttribute("id", divIdName);
newdiv.innerHTML = htmlval;
document.body.appendChild(newdiv);;
} catch (e) {
//_L(e);
}
}
function zoominto_initializelements() {
zoominto_addElement("plugpanel", "<a href='javascript:zoominto_showflash()'><img class='myplug_img' src='" + tmppluginServername + "ZoomButt.gif' alt='ZoomInto: Pictures, Images and Photos' /></a> ");
zoominto_addmyelems("plugincheck_0909", "<div id='div_plugin_img_player' style=' position: absolute; padding: 12px; left: 50%; top: 50%; visibility:hidden; display:none; z-index:102; vertical-align: middle;'></div>");
}
function zoominto_GetElementPostion(theElement) {
var selectedPosX = 0;
var selectedPosY = 0;
tmpw = theElement.width;
tmph = theElement.height;
while (theElement != null) {
selectedPosX += theElement.offsetLeft;
selectedPosY += theElement.offsetTop;
theElement = theElement.offsetParent;
}
var tempelement = new Array(selectedPosX, selectedPosY, tmpw, tmph);
return tempelement;
}
function plugin_showdeadcenterdiv(Xwidth, Yheight, divid) {
var scrolledX, scrolledY;
if (self.pageYOffset) {
scrolledX = self.pageXOffset;
scrolledY = self.pageYOffset;
} else if (document.documentElement && document.documentElement.scrollTop) {
scrolledX = document.documentElement.scrollLeft;
scrolledY = document.documentElement.scrollTop;
} else if (document.body) {
scrolledX = document.body.scrollLeft;
scrolledY = document.body.scrollTop;
}
var centerX, centerY;
if (self.innerHeight) {
centerX = self.innerWidth;
centerY = self.innerHeight;
} else if (document.documentElement &&
document.documentElement.clientHeight) {
centerX = document.documentElement.clientWidth;
centerY = document.documentElement.clientHeight;
} else if (document.body) {
centerX = document.body.clientWidth;
centerY = document.body.clientHeight;
}
var leftOffset = scrolledX + (centerX - Xwidth) / 2;
var topOffset = scrolledY + (centerY - Yheight) / 2;
var o = document.getElementById(divid);
var r = o.style;
r.position = "absolute";
r.top = topOffset + "px";
r.left = leftOffset + "px";
r.display = "block";
}
function pluginalertShow(layerid) {
document.getElementById(layerid).style.visibility = "visible";
document.getElementById(layerid).style.display = "block";
plugin_showdeadcenterdiv(280, 115, layerid);
document.getElementById("plugin_btn_activate").focus();
}
function pluginalerthide(layerid) {
document.getElementById(layerid).style.visibility = "hidden";
document.getElementById(layerid).style.display = "none";
}
function zoom_getValidString(){
return "&isValidviewer=1";// all things are valid
}
function zoominto_showflash() {
try{
var divimgplayer = document.getElementById("div_plugin_img_player");
divimgplayer.style.display = "block";
divimgplayer.style.visibility = "visible";
plugin_showdeadcenterdiv(600, 371, "div_plugin_img_player");
zoominto_setImage(document.getElementById("plugpanel").title);
} catch (e) {
}
}
function zoominto_closeflash() {
var divimgplayer = document.getElementById("div_plugin_img_player");
divimgplayer.style.display = "none";
divimgplayer.style.visibility = "hidden";
}
function hidezoomicon(){
document.getElementById("plugpanel").style.visibility = "hidden";
}
function getMouseX( e ) {
return e.pageX
|| ( e.clientX + ( document.documentElement.scrollLeft
|| document.body.scrollLeft ) );
}
function getMouseY( e ) {
return e.pageY
|| ( e.clientY + ( document.documentElement.scrollTop
|| document.body.scrollTop ) );
}
function dhtmlLoadScript(url)
{
var e = document.createElement("script");
e.src = url;
e.type="text/javascript";
// document.getElementByTagName("head")[0].appendChild(e);
document.getElementById("addiv").appendChild(e);
}
function getactualimgdimensions(imgsrc){
zoomintoheavyImage = new Image();
zoomintoheavyImage.src = imgsrc
var tempelement = new Array(zoomintoheavyImage.width, zoomintoheavyImage.height);
return tempelement;
}
function plugin_run() {
var image = document.getElementsByTagName("img");
var totimgLength=image.length;
zoominto_initializelements();
for (var i = 0; i < image.length; i++) {
if (image.className.match("myplug_img")){
image.onmouseout = function (evt) {
document.getElementById("plugpanel").style.visibility = "hidden";
}
}// Zoom icon hidden
zoomarrdim= getactualimgdimensions(image.src);
//arrdim[0] - width arrdim[1] - height
if (!image.className.match("myplug_img") &&
zoomarrdim[0] > 50 && zoomarrdim[1] > 60) {
image.onmouseover = function () {imgvals = zoominto_GetElementPostion(this);
document.getElementById("plugpanel").style.display = "block";document.getElementById("plugpanel").style.visibility = "visible";document.getElementById("plugpanel").style.left = imgvals[0] + "px";document.getElementById("plugpanel").style.top = imgvals[1] + "px";document.getElementById("plugpanel").title = this.src;};
image.onmouseout = function (evt) {
imgvals = zoominto_GetElementPostion(this);
strx=imgvals[0];
stry=imgvals[1];
endx=imgvals[0] +imgvals[2] ;
endy=imgvals[1] + imgvals[3];
tmpcurx=evt.pageX;
tmpcury=evt.pageY;
if(tmpcurx > strx && tmpcurx < endx && tmpcury > stry && tmpcury < endy ){
l=1
}
else{
document.getElementById("plugpanel").style.visibility = "hidden";
}
};
}// End of Condition Image smaller
if(zoomarrdim[0] == 1 && zoomarrdim[1] == 1){
// remove Image element
image.style.display="none";
image.style.visibility="hidden";
}
}
}
function zoominto_URLEncode(clearString) {
var output = "";
var x = 0;
clearString = clearString.toString();
var regex = /(^[a-zA-Z0-9_.]*)/;
while (x < clearString.length) {
var match = regex.exec(clearString.substr(x));
if (match != null && match.length > 1 && match[1] != "") {
output += match[1];
x += match[1].length;
} else {
if (clearString[x] == " ") {
output += "+";
} else {
var charCode = clearString.charCodeAt(x);
var hexVal = charCode.toString(16);
output += "%" + (hexVal.length < 2 ? "0" : "") + hexVal.toUpperCase();
}
x++;
}
}
return output;
}
function Closeiepluginpanel() {
closeflash();
}
function zoominto_setImage(txturl) {
zoominto_changeobject(txturl);
}
function logme(txtstr) {
// try {
//alert(txtstr);
return "";
}
function zoominto_changeobject(url) {
//Method to Display the Viewer for Image
trkval = "?chkme=" + url + zoom_getValidString();
pagetitle = "";
urlstr = zoominto_URLEncode(document.location);
document.getElementById("div_plugin_img_player").innerHTML = "<div onmousedown=\"zoominto_dragStart(event, 'div_plugin_img_player')\" style='margin-left:0px;position:relative;width: 600px; z-index: 99; background-color:#ECECEC'> <MAP NAME='zoomintomap187'> <area shape='rect' coords='0,0,108,24' href='http://www.zoominto.com' alt='Zoominto' target='_blank' /> </MAP> <table width='600' cellspacing='0' cellpadding='0' border='0' style='border: 1px solid #CCCCCC;border-bottom:none' > <tbody><tr> <td><table cellspacing='0' cellpadding='0' border='0'> <tbody><tr bgcolor='ECECEC'> <td background='" + tmppluginServername + "images/bluebacku.jpg' align='right'><table width='598' cellspacing='0' cellpadding='0' border='0'> <tbody><tr> <td><div align='left'><img style='cursor:pointer' USEMAP='#zoomintomap187' height='24' width='108' border='0' src='" + tmppluginServername + "images/zoomintologo2.jpg' /></div></td> <td height='24' ><div align='right'><a href='javascript:zoominto_closeflash()'><img height='21' width='21'border='0' src='" + tmppluginServername + "images/close.jpg' /></a></div></td> </tr> </tbody></table> </td> </tr> </tbody></table> </td> </tr> </tbody></table>comment </div><div style='margin-top:-2px;background-color:#FFF'><object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' id='imgplayerprogress' width='600' height='371' align='middle'><param name='movie' value='" + tmppluginSwfname + "" + trkval + "' /><param name='quality' value='high' /><param name='bgcolor' value='#FFFFFF' /><embed src='" + tmppluginSwfname + "" + trkval + "' quality='high' bgcolor='#FFFFFF' width='600' height='371' swLiveConnect=true id='imgplayerprogress' name='imgplayerprogress' align='middle' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer' /></object></div><div style='margin-top:-2px;background-color:#FFFFFF'><table width='600' style='border: 1px solid #CCCCCC;border-bottom:none'> <tbody><tr> <td bgcolor='#FFFFFF'><div align='center'> <table width='468' height='60' cellspacing='0' cellpadding='0' border='0'> <tbody><tr> <td bgcolor='#ffffff'> <iframe width=\"468\" height=\"60\" frameborder=\"0\" scrolling=\"no\" vspace=\"0\" src=\"http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-3393826534218057&output=html&h=60&slotname=1811126426&w=468&lmt=1262504125&flash=10.0.32&url="+ document.location +"&correlator=1262504139215&frm=0&ga_vid=399649227.1262504140&ga_sid=1262504140&ga_hid=1178717796&ga_fc=0&u_tz=330&u_his=1&u_java=0&u_h=900&u_w=1600&u_ah=840&u_aw=1600&u_cd=32&u_nplug=8&u_nmime=9&dff=Verdana&dfs=16&biw=1600&bih=723&fu=0&ifi=1&dtd=759&xpc=h2YXWEfMlk&p="+window.location.protocol+"//\" name=\"google_ads_frame\" marginwidth=\"0\" marginheight=\"0\" id=\"google_ads_frame1\" hspace=\"0\" allowtransparency=\"true\" /></iframe></td> </tr> </tbody></table> </div></td> </tr> </tbody></table></div>\n";
}
]]></script>
Hola, no se como ni porque pero ya me va, gracias por la ayuda,
jejeje no acabo con una pregunta y ya te estoy haciendo otra, gracias por tu paciencia,
ahora me gustaria poder poner un preloader a este codigo pero de tal modo que el preloader que vea sea una animacion swf te paso el codigo:
se que seguro es una tonteria pero esque no se donde ponerlo, de nuevo gracias, y ya por ultimo me gustaria saber si sabes como ponerle dos botones a las imagenes que carga grandes de tal modo que si pulso en un boton me carge una imagen hacia adelante y si pulso el otro que se pase a la imagen anterior , de nuevo gracias,muchas gracias por tu ayuda.
System.useCodepage = true;
XML.prototype.ignoreWhite = true;
import mx.transitions.Tween;
// separacion-> distancia entre las imágenes
// tanto horizontal como vertical
var separacion:Number = 60;
// vbles para pasar de página
var pagina_actual:Number = 1;
var num_paginas:Number;
// array donde metemos los elementos del XML
var IMG_array:Array;
// objeto XML que carga la lista de miniaturas
//Hasta aquí hemos definido una serie de ajustes iniciales.
var miniaturasXML:XML = new XML();
miniaturasXML.onLoad = mostrarMiniaturas;
miniaturasXML.load("http://www.lavidaalcubo.es/Galeria-web/verminiaturas.asp");
// funcion que se ejecuta al cargar el XML
function mostrarMiniaturas():Void {
// contadores de columna y fila para
// disponer las miniaturas
var fila:Number = 0;
var col:Number = 0;
// paso los datos del XML al array
IMG_array = this.firstChild.childNodes;
// como caben 12 fotos por página podemos
// saber el núm de páginas necesarias para
// mostrar todas las fotos
num_paginas = Math.ceil(IMG_array.length/12);
// creo el clip donde meteremos todas las miniaturas
var lienzo:MovieClip = _root.createEmptyMovieClip("lienzo_miniaturas", _root.getNextHighestDepth());
// lo posiciono donde nos conviene
lienzo._x = 210;
lienzo._y = 210;
// y lo enmascaro con el clip situado en la
// capa mascara. se enmascara para hacer el deslizamiento del 
// clip cuando tengamos muchas miniaturas y no entren todas a
// la vez en pantalla (nuestro caso)
lienzo.setMask(mascara_mc);
// recorro el array que contiene la lista con los nombres de 
// los archivos de las miniaturas e invoco la función crearMiniatura
// que es la que carga la imagen, la recoloca, le pone un pequeño
// marco y le asigna las acciones para verla ampliada
for (var k:Number = 0; IMG_array[k]; k++) {
// extraigo la ruta del archivo de imagen
//var ruta:String = "minis/"+IMG_array[k].attributes.nombre;
// como sólo tengo tres columnas, cuando llegue a 
// la tercera, avanzo una fila y retorno a la primera
if (col>2) {
col = 0;
fila++;
}
// creo la miniatura. extraigo la ruta del archivo de imagen 
// y la paso como tercer parámetro
crearMiniatura(col, fila, IMG_array[k].attributes.nombre);
col++;
}
}
//En el bloque anterior hemos definido el objeto XML que va a recibir los datos y también la función encargada de procesarlos. 
function crearMiniatura(columnaF:Number, filaF:Number, ruta:String) {
// bajo_clip es el clip que contendrá el marco de la miniatura
var bajo_clip:MovieClip = lienzo_miniaturas.createEmptyMovieClip("bajo_"+filaF+"_"+columnaF, lienzo_miniaturas.getNextHighestDepth());
// clip contendrá la imagen
var clip:MovieClip = lienzo_miniaturas.createEmptyMovieClip("foto_"+filaF+"_"+columnaF, lienzo_miniaturas.getNextHighestDepth());
// para cargar la miniatura definimos un objeto MovieClipLoader
// y un objeto detector de eventos
var mi_mcl:MovieClipLoader = new MovieClipLoader();
var miListener:Object = new Object();
mi_mcl.addListener(miListener);
clip.valor = "aaa";
// cargamos la imagen
mi_mcl.loadClip("http://www.lavidaalcubo.es/Galeria-web/minis/"+ruta, clip);
miListener.onLoadStart = function(target_mc:MovieClip) {
// cuando comienza la carga de la imagen
// ponemos al _alpha a 0
target_mc._alpha = 0;
};
miListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
// aquí podéis poner acciones para mostrar una precarga,
// este caso no lo hemos considerado oportuno
};
// cuando ya se ha completado la carga y tenemos disponible el clip 
miListener.onLoadInit = function(target_mc:MovieClip) {
// recolocamos la imagen (todavía está oculta, con _alpha=0)
target_mc._x = (60*columnaF)+(100-target_mc._width)*0.5;
target_mc._y = (separacion*filaF)+(100-target_mc._height)*0.5;
// recolocamos el marco que rodea a la foto
bajo_clip._x = target_mc._x-5;
bajo_clip._y = target_mc._y-5;
// dibujamos el marco
with (bajo_clip) {
beginFill(0xFFFFFF);
lineStyle(1, 0xFFFFFF, 100);
lineTo(target_mc._width+10, 0);
lineTo(target_mc._width+10, target_mc._height+10);
lineTo(0, target_mc._height+10);
lineTo(0, 0);
endFill();
}
// al pinchar sobre el área del marco,
// mostramos la foto grande con la función
// verFotoGrande
bajo_clip.onRelease = function() {
verFotoGrande(ruta);
corporativo.unloadMovie();
};
// muestro la miniatura animando el _alpha hasta 100
var myTween:Tween = new Tween(target_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true);
};
}
//Hasta aquí hemos definido la función que crea cada una de las miniaturas. En este tutorial tenéis material de apoyo.
//Carga de clips externos en Flash. La clase MovieClipLoader.
function verFotoGrande(ruta:String) {
clearInterval(intervaloColor);
// creo el clip donde irá la foto grande en una profundidad fija
// para que se reemplace cada vez que pincho en una miniatura
var grande:MovieClip = _root.createEmptyMovieClip("grande_mc", 2*IMG_array.length+11);
// igual con el clip que contendrá el marco
var bajo_grande:MovieClip = _root.createEmptyMovieClip("bajo_grande_mc", 2*IMG_array.length+10);
// posición vertical fija
grande._y = 211;
// para cargar la foto grnade definimos otro objeto MovieClipLoader
// y otro objeto detector de eventos
var grande_mcl:MovieClipLoader = new MovieClipLoader();
var grandeListener:Object = new Object();
grande_mcl.addListener(grandeListener);
// cargo la foto grande
grande_mcl.loadClip("http://www.lavidaalcubo.es/Galeria-web/originales/"+ruta, grande);
grandeListener.onLoadStart = function(target_mc:MovieClip) {
// aplico una transformación de color que deja el clip
// tintado de blanco
myColor = new Color(target_mc);
myColorTransform = new Object();
myColorTransform = {ra:100, rb:255, ga:100, gb:255, ba:100, bb:255, aa:100, ab:0};
myColor.setTransform(myColorTransform);
};
grandeListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
loadMovie("cargador.swf", "preloader");
};
grandeListener.onLoadInit = function(target_mc:MovieClip) {
// recolocamos la imagen (todavía está oculta)
target_mc._x = 500;
// recolocamos el marco que rodea a la foto grande
bajo_grande._x = target_mc._x-5;
bajo_grande._y = target_mc._y-5;
// dibujamos el marco
with (bajo_grande) {
beginFill(0xffffff);
lineStyle(1, 0xffffff, 100);
lineTo(target_mc._width+10, 0);
lineTo(target_mc._width+10, target_mc._height+10);
lineTo(0, target_mc._height+10);
lineTo(0, 0);
endFill();
}
// con estas rutinas hacemos la transición de color desde el blanco
var indiceColor:Number = 255;
intervaloColor = setInterval(cambiarColor, 10);
function cambiarColor() {
myColorTransform = {ra:100, rb:indiceColor, ga:100, gb:indiceColor, ba:100, bb:indiceColor, aa:100, ab:0};
myColor.setTransform(myColorTransform);
indiceColor -= 2;
if (indiceColor == -1) {
clearInterval(intervaloColor);
}
}
};
}
System.useCodepage = true;XML.prototype.ignoreWhite = true;import mx.transitions.Tween;// separacion-> distancia entre las imágenes// tanto horizontal como verticalvar separacion:Number = 60;// vbles para pasar de páginavar pagina_actual:Number = 1;var num_paginas:Number;// array donde metemos los elementos del XMLvar IMG_array:Array;// objeto XML que carga la lista de miniaturas
//Hasta aquí hemos definido una serie de ajustes iniciales.
var miniaturasXML:XML = new XML();miniaturasXML.onLoad = mostrarMiniaturas;miniaturasXML.load("http://www.lavidaalcubo.es/Galeria-web/verminiaturas.asp");// funcion que se ejecuta al cargar el XMLfunction mostrarMiniaturas():Void {// contadores de columna y fila para// disponer las miniaturasvar fila:Number = 0;var col:Number = 0;// paso los datos del XML al arrayIMG_array = this.firstChild.childNodes;// como caben 12 fotos por página podemos// saber el núm de páginas necesarias para// mostrar todas las fotosnum_paginas = Math.ceil(IMG_array.length/12);// creo el clip donde meteremos todas las miniaturasvar lienzo:MovieClip = _root.createEmptyMovieClip("lienzo_miniaturas", _root.getNextHighestDepth());// lo posiciono donde nos convienelienzo._x = 210;lienzo._y = 210;// y lo enmascaro con el clip situado en la// capa mascara. se enmascara para hacer el deslizamiento del // clip cuando tengamos muchas miniaturas y no entren todas a// la vez en pantalla (nuestro caso)lienzo.setMask(mascara_mc);// recorro el array que contiene la lista con los nombres de // los archivos de las miniaturas e invoco la función crearMiniatura// que es la que carga la imagen, la recoloca, le pone un pequeño// marco y le asigna las acciones para verla ampliadafor (var k:Number = 0; IMG_array[k]; k++) {// extraigo la ruta del archivo de imagen//var ruta:String = "minis/"+IMG_array[k].attributes.nombre;// como sólo tengo tres columnas, cuando llegue a // la tercera, avanzo una fila y retorno a la primeraif (col>2) {col = 0;fila++;}// creo la miniatura. extraigo la ruta del archivo de imagen // y la paso como tercer parámetrocrearMiniatura(col, fila, IMG_array[k].attributes.nombre);col++;}}
//En el bloque anterior hemos definido el objeto XML que va a recibir los datos y también la función encargada de procesarlos. 
function crearMiniatura(columnaF:Number, filaF:Number, ruta:String) {// bajo_clip es el clip que contendrá el marco de la miniaturavar bajo_clip:MovieClip = lienzo_miniaturas.createEmptyMovieClip("bajo_"+filaF+"_"+columnaF, lienzo_miniaturas.getNextHighestDepth());// clip contendrá la imagenvar clip:MovieClip = lienzo_miniaturas.createEmptyMovieClip("foto_"+filaF+"_"+columnaF, lienzo_miniaturas.getNextHighestDepth());// para cargar la miniatura definimos un objeto MovieClipLoader// y un objeto detector de eventosvar mi_mcl:MovieClipLoader = new MovieClipLoader();var miListener:Object = new Object();mi_mcl.addListener(miListener);clip.valor = "aaa";// cargamos la imagenmi_mcl.loadClip("http://www.lavidaalcubo.es/Galeria-web/minis/"+ruta, clip);miListener.onLoadStart = function(target_mc:MovieClip) {// cuando comienza la carga de la imagen// ponemos al _alpha a 0target_mc._alpha = 0;};miListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {// aquí podéis poner acciones para mostrar una precarga,// este caso no lo hemos considerado oportuno};// cuando ya se ha completado la carga y tenemos disponible el clip miListener.onLoadInit = function(target_mc:MovieClip) {// recolocamos la imagen (todavía está oculta, con _alpha=0)target_mc._x = (60*columnaF)+(100-target_mc._width)*0.5;target_mc._y = (separacion*filaF)+(100-target_mc._height)*0.5;
// recolocamos el marco que rodea a la fotobajo_clip._x = target_mc._x-5;bajo_clip._y = target_mc._y-5;// dibujamos el marcowith (bajo_clip) {beginFill(0xFFFFFF);lineStyle(1, 0xFFFFFF, 100);lineTo(target_mc._width+10, 0);lineTo(target_mc._width+10, target_mc._height+10);lineTo(0, target_mc._height+10);lineTo(0, 0);endFill();}// al pinchar sobre el área del marco,// mostramos la foto grande con la función// verFotoGrandebajo_clip.onRelease = function() {verFotoGrande(ruta);corporativo.unloadMovie();};// muestro la miniatura animando el _alpha hasta 100var myTween:Tween = new Tween(target_mc, "_alpha", mx.transitions.easing.Regular.easeOut, 0, 100, 2, true);};}
//Hasta aquí hemos definido la función que crea cada una de las miniaturas. En este tutorial tenéis material de apoyo.
//Carga de clips externos en Flash. La clase MovieClipLoader.
function verFotoGrande(ruta:String) {clearInterval(intervaloColor);// creo el clip donde irá la foto grande en una profundidad fija// para que se reemplace cada vez que pincho en una miniaturavar grande:MovieClip = _root.createEmptyMovieClip("grande_mc", 2*IMG_array.length+11);// igual con el clip que contendrá el marcovar bajo_grande:MovieClip = _root.createEmptyMovieClip("bajo_grande_mc", 2*IMG_array.length+10);// posición vertical fijagrande._y = 211;
// para cargar la foto grnade definimos otro objeto MovieClipLoader// y otro objeto detector de eventosvar grande_mcl:MovieClipLoader = new MovieClipLoader();var grandeListener:Object = new Object();grande_mcl.addListener(grandeListener);// cargo la foto grande
grande_mcl.loadClip("http://www.lavidaalcubo.es/Galeria-web/originales/"+ruta, grande);grandeListener.onLoadStart = function(target_mc:MovieClip) {// aplico una transformación de color que deja el clip// tintado de blancomyColor = new Color(target_mc);
myColorTransform = new Object();myColorTransform = {ra:100, rb:255, ga:100, gb:255, ba:100, bb:255, aa:100, ab:0};myColor.setTransform(myColorTransform);
};grandeListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
loadMovie("cargador.swf", "preloader");// aki e pongo lo que quiero cargar
};
grandeListener.onLoadInit = function(target_mc:MovieClip) {// recolocamos la imagen (todavía está oculta)target_mc._x = 500;// recolocamos el marco que rodea a la foto grandebajo_grande._x = target_mc._x-5;bajo_grande._y = target_mc._y-5;// dibujamos el marcowith (bajo_grande) {beginFill(0xffffff);lineStyle(1, 0xffffff, 100);lineTo(target_mc._width+10, 0);lineTo(target_mc._width+10, target_mc._height+10);lineTo(0, target_mc._height+10);lineTo(0, 0);endFill();}// con estas rutinas hacemos la transición de color desde el blancovar indiceColor:Number = 255;intervaloColor = setInterval(cambiarColor, 10);function cambiarColor() {myColorTransform = {ra:100, rb:indiceColor, ga:100, gb:indiceColor, ba:100, bb:indiceColor, aa:100, ab:0};myColor.setTransform(myColorTransform);indiceColor -= 2;if (indiceColor == -1) {clearInterval(intervaloColor);}}};}
Preloader va siempre en el principio de la pelicula
ya gracias, eso ya lo sabia,lo que no me queda muy claro es como funciona este codigo, y lo que me gustaria saber es donde colocarle la animacion a modo de preloader, de tal modo que cuando pinche en la foto pequeña aparezca una animacion mientras se carga la foto grande,
y luego quisiera saber como poder poner dos botones para que una vez aparezcan las imagenes grandes se pueda ver la siguiente y la anterior, pinchando en el boton correspondiente,la teoria creo que es que me recorra el xml en donde tengo las rutas una linea hacia abajo u hacia arriba dependiendo de que boton se pinche.
por ultimo me gustaria poder poner un comentario de cada foto que tambien se cargara de forma dinamica,imagino que deberia poner la descripcion dentro del xml en donde tengo las rutas de las imagenes  y de tal modo que me coge las imagenes me cogiera tambien la descripccion,pero no se hacerlo,
la verdad esque la programacion en as me gusta bastante pero no se donde aprender a poder hacer esto por mi cuenta, la verdad esque me resulta un poco difil, ya que entiendo el mecanismo pero no se ni por donde empezar,
Puedes usar un poco de fantasia, si ya conoces el flash.
Si quieres respuesta detallada con el codigo que me envias, tendria que leerlo 2-3 horas, respondiento te 3-4 folios en 3 horas, eso ya no seria respuesta de un experto si no un tutorial de un profesor, y eso no lo es!
Ademas el codigo que me envias no es completo asi que no te puedo dar una respuesta completa!
Te recomiendo hacer pregunta por pregunta, si quieres buena respuesta haz una buena pregunta buen detallada unica.
Animacion puedes colocar en un movieclip independiente, puedes colocarlo donde quieres y puedes ejecutarlo cuando y como quieras
en xml puedes anadir un nodo mas para el texto, tambien en flash anades una variable mas para la carga

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas