System.useCodepage = true;
XML.prototype.ignoreWhite = true;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Matrix;
-----------------------------------------------------------------------------
----- ajustes personalizables -----------------------------------------------
-----------------------------------------------------------------------------
ancho carrusel en px
var ancho_carrusel:Number = 700;
var ancho_miniatura:Number = 90;
var v_giro:Number=30;
var reflejar:Boolean = true;
var color_fondo:Number = 0xF4F4F4;
var x0:Number =0; 365
var y0:Number =0; 185
var url_fotos:String = "C:/Users/jlorenzo/mueblestylos/dormitorios.xml";
var dir_minis:String = "C:/Users/jlorenzo/mueblestylos/";
------------------------------------------------------------------------------
----- fin ajustes personalizables --------------------------------------------
------------------------------------------------------------------------------
var IMG_array:Array;
var incre:Number = 0;
var num_fotos:Number;
var num_fotos_cargadas:Number;
var radio:Number = (ancho_carrusel-ancho_miniatura-10)*0.5;
var miniaturasXML:XML = new XML();
miniaturasXML.onLoad = cargarMiniaturas;
miniaturasXML.load(url_fotos);
funcion que se ejecuta al cargar el XML
function cargarMiniaturas():Void {
IMG_array = this.firstChild.childNodes;
num_fotos = 6;
num_fotos = IMG_array.length;
var contenedor:MovieClip = _root.createEmptyMovieClip("contenedor_mc", _root.getNextHighestDepth());
contenedor._y = y0;
contenedor._visible = false;
var carrusel:MovieClip = contenedor.createEmptyMovieClip("carrusel_miniaturas_mc", contenedor.getNextHighestDepth());
carrusel._x = x0;
carrusel._y = y0;
num_fotos_cargadas = 0;
for (var k:Number = 0; k<num_fotos; k++) {
crearMiniatura(IMG_array[k].attributes.nombre,k);
}
}
function crearMiniatura(ruta:String, orden:Number):Void {
trace("ruta = "+ruta);
var clip:MovieClip = contenedor_mc.carrusel_miniaturas_mc.createEmptyMovieClip("foto_"+orden, contenedor_mc.carrusel_miniaturas_mc.getNextHighestDepth());
clip.forceSmoothing = true;
var dentro:MovieClip = clip.createEmptyMovieClip("foto", clip.getNextHighestDepth());
dentro.forceSmoothing = true;
clip.orden = orden;
var mi_mcl:MovieClipLoader = new MovieClipLoader();
var miListener:Object = new Object();
mi_mcl.addListener(miListener);
mi_mcl.loadClip(dir_minis+ruta,dentro);
mi_mcl.loadClip("http://www.tutoriales-flash.com//miniaturas/"+ruta,dentro);
miListener.onLoadStart = function(target_mc:MovieClip) {
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
};
miListener.onLoadInit = function(target_mc:MovieClip) {
target_mc.smoothBitmap();
var coef:Number = target_mc._width/ancho_miniatura;
target_mc._height = int(target_mc._height/coef);
target_mc._width = ancho_miniatura;
target_mc._alpha = 100;
target_mc._x = -(int(target_mc._width*0.5));
target_mc._y = 0;
target_mc.onRelease = function() {
if (ruta.indexOf("dormiture01_01.jpg") != -1) {
if (ruta.indexOf(".jpg") != -1) {
var temp_array:Array = ruta.split(".jpg");
getURL("http://localhost/="+temp_array[0], "_blank");
getURL("http://www.google.com.pe", "_blank");
}
if (ruta.indexOf("dormiture02_02.jpg") != -1){
getURL("http://www.hotmail.com=", "_blank");
}
if (ruta.indexOf("dormiture03_03.jpg") != -1){
getURL("http://www.yahoo.de=", "_blank");
}
if (ruta.indexOf("dormiture04_04.jpg") != -1){
getURL("http://www.youtube.com=", "_blank");
}
if (ruta.indexOf("dormiture05_05.jpg") != -1){
getURL("http://www.microsoft.com=", "_blank");
}
if (ruta.indexOf("dormiture06_06.jpg") != -1){
getURL("http://www.ibm.com=", "_blank");
}
else {
getURL("http://www.tutoriales.com", "_blank");
}
};
num_fotos_cargadas++;
trace("onLoadInit: "+orden+" | cargadas: "+num_fotos_cargadas+"/"+num_fotos);
if (num_fotos_cargadas>=num_fotos) {
setTimeout(_root.girar_carrusel,500);
}
};
}
function girar_carrusel() {
contenedor_mc._y = y0-contenedor_mc._height;
if (reflejar) {
var reflejo:MovieClip = _root.createEmptyMovieClip("reflejo_miniaturas_mc", _root.getNextHighestDepth());
reflejo._yscale = -100;
reflejo._y = contenedor_mc._y+contenedor_mc._height*2+1;
var myMatrix:Matrix = new Matrix();
myMatrix.createGradientBox(ancho_carrusel,contenedor_mc._height,Math.PI/2,0,-15);
var sombreado:MovieClip = _root.createEmptyMovieClip("sombreado_mc", _root.getNextHighestDepth());
var colors:Array = [color_fondo, color_fondo, color_fondo];
var alphas:Array = [40, 90, 100];
var ratios:Array = [0, 160, 255];
sombreado.beginGradientFill("linear",colors,alphas,ratios,myMatrix);
sombreado.moveTo(0,0);
sombreado.lineTo(ancho_carrusel,0);
sombreado.lineTo(ancho_carrusel,contenedor_mc._height);
sombreado.lineTo(0,contenedor_mc._height);
sombreado.lineTo(0,0);
sombreado._y = y0+1;
sombreado._x = x0-sombreado._width*0.5;
}
delete contenedor_mc.onEnterFrame;
contenedor_mc.onEnterFrame = function() {
incre += (_root._xmouse-x0)/_root.v_giro;
for (var k:Number = 0; k<=num_fotos; k++) {
this.carrusel_miniaturas_mc["foto_"+k].girar();
}
if (reflejar) {
var bmp:BitmapData = new BitmapData(ancho_carrusel+100, this._height, true, 0x00000000);
var myRectangle:Rectangle = new Rectangle(0, 0, ancho_carrusel+100, this._height);
bmp.draw(this,new Matrix(),new ColorTransform(),"normal",myRectangle);
_root.reflejo_miniaturas_mc.attachBitmap(bmp,1,"auto",true);
}
};
contenedor_mc._visible = true;
}
MovieClip.prototype.girar = function() {
var degrees:Number = _root.incre+(360*this.orden/num_fotos);
var radians:Number = degrees*Math.PI/180;
if (Math.sin(radians)<0) {
this._alpha = 15;
} else {
this._alpha = 100;
}
this._x = radio*Math.cos(radians);
this._xscale = (1-Math.cos(radians+Math.PI*0.5))*99-99;
this.swapDepths(int(this._xscale*10));
};