Foros del Web » Creando para Internet » Flash y Actionscript »

Ayuda para un carrusel en Flash (AS3) con XML

Estas en el tema de Ayuda para un carrusel en Flash (AS3) con XML en el foro de Flash y Actionscript en Foros del Web. Necesito ayuda para un carrusel en Flash con ActionScript 3 combinando datos en XML. La idea que tengo en mente es hacer un carrusel sencillo ...
  #1 (permalink)  
Antiguo 28/12/2009, 04:08
 
Fecha de Ingreso: diciembre-2009
Ubicación: España
Mensajes: 119
Antigüedad: 14 años, 4 meses
Puntos: 2
Ayuda para un carrusel en Flash (AS3) con XML

Necesito ayuda para un carrusel en Flash con ActionScript 3 combinando datos en XML.

La idea que tengo en mente es hacer un carrusel sencillo en horizontal. Pulsando en un elemento del carrusel (imagen) apareceria debajo la informacion.

Las imagenes tienen diferentes tamaños pero deben tener un espacio y colocacion para ajustarlos de manera que no descuadre.

Espero que me podais ayudar en este tema.

Saludos y Gracias.
  #2 (permalink)  
Antiguo 02/01/2010, 08:38
 
Fecha de Ingreso: diciembre-2009
Ubicación: España
Mensajes: 119
Antigüedad: 14 años, 4 meses
Puntos: 2
Respuesta: Ayuda para un carrusel en Flash (AS3) con XML

¿Alguna idea?
  #3 (permalink)  
Antiguo 08/01/2010, 12:26
 
Fecha de Ingreso: diciembre-2009
Ubicación: España
Mensajes: 119
Antigüedad: 14 años, 4 meses
Puntos: 2
Respuesta: Ayuda para un carrusel en Flash (AS3) con XML

Cualquier ayuda seria interesante por pequeña que sea.

Saludos y Gracias.
  #4 (permalink)  
Antiguo 08/01/2010, 12:28
Avatar de Diegoazul  
Fecha de Ingreso: mayo-2007
Ubicación: { Dash Berlin }
Mensajes: 1.879
Antigüedad: 16 años, 10 meses
Puntos: 67
Respuesta: Ayuda para un carrusel en Flash (AS3) con XML

No entiendo si ya lo tienes hecho ó qué, pero aqui hay muchas galerias http://www.ffiles.com/flash/photo_galleries/
__________________
{ Flash }
  #5 (permalink)  
Antiguo 08/01/2010, 13:24
 
Fecha de Ingreso: junio-2009
Mensajes: 32
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Ayuda para un carrusel en Flash (AS3) con XML

aqui te dejo un tutorial , espero q te sirva.. pero nose si ocupa XML... Igual es muy bueno
  #6 (permalink)  
Antiguo 08/01/2010, 13:26
 
Fecha de Ingreso: junio-2009
Mensajes: 32
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Ayuda para un carrusel en Flash (AS3) con XML

http://www.decabeza.net/2008/03/25/c...ideo-tutorial/
  #7 (permalink)  
Antiguo 08/01/2010, 13:28
 
Fecha de Ingreso: diciembre-2009
Ubicación: España
Mensajes: 119
Antigüedad: 14 años, 4 meses
Puntos: 2
Respuesta: Ayuda para un carrusel en Flash (AS3) con XML

Cita:
Iniciado por Diegoazul Ver Mensaje
No entiendo si ya lo tienes hecho ó qué, pero aqui hay muchas galerias [url]http://www.ffiles.com/flash/photo_galleries/[/url]
Gracias por el enlace. Le echare un vistazo. El menu no esta hecho, solo tengo un fichero XML.

Cita:
Iniciado por Alangroso Ver Mensaje
[url]http://www.decabeza.net/2008/03/25/carrusel-3d-con-pv3d-video-tutorial/[/url]
Interesante enlace pero no se pueden descargar los archivos.

Saludos y Gracias a todos.

Última edición por Mr_Raymon; 08/01/2010 a las 13:34
  #8 (permalink)  
Antiguo 06/11/2010, 15:18
 
Fecha de Ingreso: octubre-2010
Ubicación: San juan Argentina
Mensajes: 95
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Ayuda para un carrusel en Flash (AS3) con XML

Nose si qeres crear un Menu carrusel o un carrusel de imagenes igual te dejo que es para menu o lo que quieras le tendras qe cambiar un par de configuraciones dependiendo de lo que quieras uno y solo le cambias la ruta de el XML qe tengas creado


Código:
const IMAGE_WIDTH:uint = 70;
const IMAGE_HEIGHT:uint = 70;


var focalLength:Number = 500;


var vanishingPointX:Number = stage.stageWidth / 2;
var vanishingPointY:Number = stage.stageHeight / 2;


var floor:Number = 40;


var angleSpeed:Number = 0;


var radius:Number = 200;


var xmlFilePath:String = "iconos.xml";

var xml:XML;

var imageHolders:Array = new Array();

var numberOfLoadedImages:uint = 0;


var numberOfImages:uint = 0;


var loader = new URLLoader();
loader.load(new URLRequest(xmlFilePath));


loader.addEventListener(Event.COMPLETE, xmlLoaded);


function xmlLoaded(e:Event):void {


	xml = new XML(loader.data);
	xml.ignoreWhitespace = true;


	loadImages();
}


function loadImages():void {


	numberOfImages = xml.number_of_images;


	for each (var image:XML in xml.images.image) {


		var imageHolder:MovieClip = new MovieClip();


		var imageLoader = new Loader();


		imageHolder.addChild(imageLoader);


		imageHolder.mouseChildren = false;


		imageLoader.x = - (IMAGE_WIDTH / 2);
		imageLoader.y = - (IMAGE_HEIGHT / 2);


		imageHolder.urlxml = image.url;


		imageHolders.push(imageHolder);


		imageLoader.load(new URLRequest(image.url));


		imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded);
	}
}


function imageLoaded(e:Event):void {

	numberOfLoadedImages++;


	e.target.content.smoothing = true;


	if (numberOfLoadedImages == numberOfImages) {

		//Set up the carousel
		initializeCarousel();
	}
}

function initializeCarousel():void {


	var angleDifference:Number = Math.PI * (360 / numberOfImages) / 180;


	for (var i:uint = 0; i < imageHolders.length; i++) {


		var imageHolder:MovieClip = (MovieClip)(imageHolders[i]);


		var startingAngle:Number = angleDifference * i;


		imageHolder.xpos3D = radius * Math.cos(startingAngle);
		imageHolder.zpos3D = radius * Math.sin(startingAngle);
		imageHolder.ypos3D = floor;


		imageHolder.currentAngle = startingAngle;


		var scaleRatio = focalLength/(focalLength + imageHolder.zpos3D);


		imageHolder.scaleX = imageHolder.scaleY = scaleRatio;


		imageHolder.alpha = 0.3;


		imageHolder.addEventListener(MouseEvent.MOUSE_OVER, mouseOverImage);
		imageHolder.addEventListener(MouseEvent.MOUSE_OUT, mouseOutImage);


		imageHolder.addEventListener(MouseEvent.CLICK, imageClicked);


		imageHolder.x = vanishingPointX + imageHolder.xpos3D * scaleRatio;
		imageHolder.y = vanishingPointY + imageHolder.ypos3D * scaleRatio;


		addChild(imageHolder);
	}


	addEventListener(Event.ENTER_FRAME, rotateCarousel);
}

function rotateCarousel(e:Event):void {


	angleSpeed = (mouseX / stage.stageWidth * 0.1);


	for (var i:uint = 0; i < imageHolders.length; i++) {


		var imageHolder:MovieClip = (MovieClip)(imageHolders[i]);


		imageHolder.currentAngle += angleSpeed;


		imageHolder.xpos3D=radius*Math.cos(imageHolder.currentAngle);
		imageHolder.zpos3D=radius*Math.sin(imageHolder.currentAngle);


		var scaleRatio = focalLength/(focalLength + imageHolder.zpos3D);


		imageHolder.scaleX=imageHolder.scaleY=scaleRatio;

		imageHolder.x=vanishingPointX+imageHolder.xpos3D*scaleRatio;
		imageHolder.y=vanishingPointY+imageHolder.ypos3D*scaleRatio;
	}
	
	//sortZ();
}

function sortZ():void {

	imageHolders.sortOn("zpos3D", Array.NUMERIC | Array.DESCENDING);

	//Set new child indexes for the images
	for (var i:uint = 0; i < imageHolders.length; i++) 
	setChildIndex(imageHolders[i], i);	
}

//This function is called when the mouse is over an imageHolder
function mouseOverImage(e:Event):void {

	//Set alpha to 1
	e.target.alpha=1;
}
function mouseOutImage(e:Event):void {

	//Set alpha to 0.3
	e.target.alpha=0.3;
}
function imageClicked(e:Event):void {

	navigateToURL(new URLRequest(e.target.urlxml));
}
SALUDOS
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:19.