Comunidad de diseño web y desarrollo en internet online

Enlazando Xml y fla en un carrusel

Citar            
MensajeEscrito el 20 Jul 2008 06:52 pm
Hola a todos ,
el otro dia me bajé un carrusel en flash que venia con un archivo .xml que le da las funciones para que aparezcan los iconos y no se como podria añadir un link en eso iconos para que vayan a una pagina web, ya que no se si se tienen que ponerse en el flash o en mismo XML(en el cual lo he estado probando pero si resultado) y nada, era por si alguien me podia ayudar les dejo los dos codigos tanto el xml como el flash:

CODIGO XML:
<icons>

<icon image="icon1.png" tooltip="Enercoop" content="mi enlace"/>
<icon image="icon2.png" tooltip="Enercoop" content="mi enlace"/>
<icon image="icon3.png" tooltip="Enercoop" content="mi enlace"/>
<icon image="icon4.png" tooltip="Enercoop" content="mi enlace"/>

</icons>


CODIGO FLASH:
import mx.utils.Delegate;
import mx.transitions.Tween;
import mx.transitions.easing.*;

var numOfItems:Number;
var radiusX:Number = 200;
var radiusY:Number = 75;
var centerX:Number = Stage.width / 2;
var centerY:Number = Stage.height / 2;
var speed:Number = 0.02;
var perspective:Number = 130;
var home:MovieClip = this;
theText._alpha = 0;

var tooltip:MovieClip = this.attachMovie("tooltip","tooltip",10000);
tooltip._alpha = 0;

var xml:XML = new XML();
xml.ignoreWhite = true;

xml.onLoad = function()
{
var nodes = this.firstChild.childNodes;
numOfItems = nodes.length;
for(var i=0;i<numOfItems;i++)
{
var t = home.attachMovie("item","item"+i,i+1);
t.angle = i * ((Math.PI*2)/numOfItems);
t.onEnterFrame = mover;
t.toolText = nodes[i].attributes.tooltip;
t.content = nodes[i].attributes.content;
t.icon.inner.loadMovie(nodes[i].attributes.image);
t.r.inner.loadMovie(nodes[i].attributes.image);
t.icon.onRollOver = over;
t.icon.onRollOut = out;
t.icon.onRelease = released;
}
}

function over()
{
//BONUS Section
var sou:Sound = new Sound();
sou.attachSound("sover");
sou.start();

home.tooltip.tipText.text = this._parent.toolText;
home.tooltip._x = this._parent._x;
home.tooltip._y = this._parent._y - this._parent._height/2;
home.tooltip.onEnterFrame = Delegate.create(this,moveTip);
home.tooltip._alpha = 100;
}

function out()
{
delete home.tooltip.onEnterFrame;
home.tooltip._alpha = 0;
}

function released()
{
//BONUS Section
var sou:Sound = new Sound();
sou.attachSound("sdown");
sou.start();

home.tooltip._alpha = 0;
for(var i=0;i<numOfItems;i++)
{
var t:MovieClip = home["item"+i];
t.xPos = t._x;
t.yPos = t._y;
t.theScale = t._xscale;
delete t.icon.onRollOver;
delete t.icon.onRollOut;
delete t.icon.onRelease;
delete t.onEnterFrame;
if(t != this._parent)
{
var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,0,1,true);
var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,0,1,true);
var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,100,0,1,true);
}
else
{
var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,t._xscale,100,1,true);
var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,t._yscale,100,1,true);
var tw3:Tween = new Tween(t,"_x",Strong.easeOut,t._x,200,1,true);
var tw4:Tween = new Tween(t,"_y",Strong.easeOut,t._y,320,1,true);
var tw5:Tween = new Tween(theText,"_alpha",Strong.easeOut,0,100,1,true);
theText.text = t.content;
var s:Object = this;
tw.onMotionStopped = function()
{
s.onRelease = unReleased;
}
}
}
}

function unReleased()
{
//BONUS Section
var sou:Sound = new Sound();
sou.attachSound("sdown");
sou.start();

delete this.onRelease;
var tw:Tween = new Tween(theText,"_alpha",Strong.easeOut,100,0,0.5,true);
for(var i=0;i<numOfItems;i++)
{
var t:MovieClip = home["item"+i];
if(t != this._parent)
{
var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,0,t.theScale,1,true);
var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,0,t.theScale,1,true);
var tw3:Tween = new Tween(t,"_alpha",Strong.easeOut,0,100,1,true);
}
else
{
var tw:Tween = new Tween(t,"_xscale",Strong.easeOut,100,t.theScale,1,true);
var tw2:Tween = new Tween(t,"_yscale",Strong.easeOut,100,t.theScale,1,true);
var tw3:Tween = new Tween(t,"_x",Strong.easeOut,t._x,t.xPos,1,true);
var tw4:Tween = new Tween(t,"_y",Strong.easeOut,t._y,t.yPos,1,true);
tw.onMotionStopped = function()
{
for(var i=0;i<numOfItems;i++)
{
var t:MovieClip = home["item"+i];
t.icon.onRollOver = Delegate.create(t.icon,over);
t.icon.onRollOut = Delegate.create(t.icon,out);
t.icon.onRelease = Delegate.create(t.icon,released);
t.onEnterFrame = mover;
}
}
}
}
}


function moveTip()
{
home.tooltip._x = this._parent._x;
home.tooltip._y = this._parent._y - this._parent._height/2;
}

xml.load("icons.xml");

function mover()
{
this._x = Math.cos(this.angle) * radiusX + centerX;
this._y = Math.sin(this.angle) * radiusY + centerY;
var s = (this._y - perspective) /(centerY+radiusY-perspective);
this._xscale = this._yscale = s*100;
this.angle += this._parent.speed;
this.swapDepths(Math.round(this._xscale) + 100);
}

this.onMouseMove = function()
{
speed = (this._xmouse-centerX)/2500;
}


Gracias por adelantado y un saludo

Por CristalBal

9 de clabLevel



 

firefox
Citar            
MensajeEscrito el 21 Jul 2008 06:18 pm
En el archivo XML si te das cuenta hay un atributo que se llama content="mi enlace" en lugar de "mi enlace" tienes que colocar el link que tu necesitas y en flash esta siendo llamado por esta instruccion:

Código :

t.content = nodes[i].attributes.content;

Por sfa

72 de clabLevel



 

Mexico DF

firefox
Citar            
MensajeEscrito el 22 Jul 2008 09:48 am
muchas gracias lo probare
un saludo

Por CristalBal

9 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Jul 2008 06:38 pm
Hola. Me he quedado sorprendido de lo que se puede hacer con los filtros (import mx.utils ... transitions, etc), no los conocia

Una pregunta: Donde puedo saber mas acerca de como usarlos, sobretodo, p.e. en transitions, cuales son todas las opciones que hay, o el efecto Bounce, cuantos tipos. Bueno, es que en realidad lo que quiero encontrar. tambien haciendo un carrusel, es si hay alguna transicion o filtro que me refleje el objeto abajo, como si se reflejara en el piso.

Por comicSans

Claber

151 de clabLevel



 

msie7
Citar            
MensajeEscrito el 30 Jul 2008 07:14 pm
Lo puedes hacer de esta manera:
Genera un mc (grupo_mc) que va a contener dos mc en su interior
el primero de ellos prin_mc y dentro de este otro mc que es el que va a contenen tus pics

el segundo mc que esta dentro de grupo_mc sera el mismo prin_mc pero con 180 grados de diferencia y con otro nombre de instancia(ref_mc) en este caso reflejo_mc

Sigues dentro del mc grupo_mc generas un rectangulo (o la forma que tengan tus botones) y le das un relleno lineal y este relleno lo volteas de modo que el degradado se visualice en forma vertical una vez hecho esto coloca en el mezclador de colores un color a 55% y otro a 0% de alfa el de 55% tiene que quedar arriba una vez volteado Lo conviertes en un mc y le das el nombre de mask (o el que quieras)

En tu action escribes

Código :

ref_mc.setMask(mask);


La carga de imagenes la sigues haciendo como siempre

Por sfa

72 de clabLevel



 

Mexico DF

msie7
Citar            
MensajeEscrito el 30 Jul 2008 07:52 pm
Ok gracias porel tip, ya vi como. Tengo unaduda de esto, me dices que lo gire 180 pero si estoy importando fotos rectangulares, no es lo mismo girar que reflejar. En AS puedo girar un clip mclip._rotate = 180; ... pero hay forma de reflejar un mclip?

Por comicSans

Claber

151 de clabLevel



 

msie7
Citar            
MensajeEscrito el 30 Jul 2008 07:59 pm
Oh! ya vi como:

ref_mc._xscale = -100; SI ES ASI?

Mira me encontre este: http://www.tutoriales-flash.com/tutorial.asp?id_tuto=36

Solo me falta algo pero creo que ya pido imposibles: con setMask se ve el difuminado-reflejo de la imagen en el piso o fondo, este a fuerza tiene que ser liso ya q pareciera que la imagen es transparente pero no lo es, en realidad es la imagen reflejada y encima un gradient, la opcion puede ser que todo esto estuviera dentro de un mclip mas y este tenga algun alpha, como ves?

Bueno, gracias por el tip... "Seguiremos aprendiendo lo interminable de flash"

Por comicSans

Claber

151 de clabLevel



 

msie7
Citar            
MensajeEscrito el 30 Jul 2008 10:04 pm
Aun mas sencillo en flash hay una ventana en donde le das alineacion, tambien te muestra la informacion y transformación de tu clip o imagen

En la seccion de transformar hay una opcion que se llama sesgar ahi le das la opcion de 180 grados a lo que seria tu mc de reflejo y todas las imagenes que cargues al mc reflejo automaticamente quedaran reflejadas

Por sfa

72 de clabLevel



 

Mexico DF

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.