Comunidad de diseño web y desarrollo en internet online

problemas con XML

Citar            
MensajeEscrito el 10 Ene 2009 09:59 am
Hola,
Hace unos días solicite ayuda por un problema con XML y no obtuve respuesta, lo que me hace sospechar que fui algo parco en mis explicaciones. A ver si ahora lo consigo.

tengo un fotograma con un menu principal. Uno de los botones del menu conduce al segundo fotograma, donde tengo una serie de imágenes cargadas mediante xml en un carrusel.
En ese segundo fotograma tengo un botón para regresar al menú, pero cuando regreso me encuentro con el carrusel del segundo fotograma sobre mi menú principal.
¿Cómo puedo decirle al botón de regresar al menú que no cargue el xml?
Pego todo el chorro de código porque al ser heredado no lo controlo:

Código :

var numOfItems:Number;
//tamaño de la circunferencia del carrusel
var radiusX:Number = 400;
var radiusY:Number = 100;
//posiciona el carrusel
var centerX:Number = Stage.width /2.14 ;
var centerY:Number = Stage.height /2;
var speed:Number = 0.05;
var perspective:Number = 130;
var home:MovieClip = this;
theText._alpha = 0;

var folder:String = "thumbnails/";

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

var xml:XML = new XML();
//ignora los espacios en blanco existentes en el 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(folder + nodes[i].attributes.image);
      t.r.inner.loadMovie(folder + nodes[i].attributes.image);
      t.icon.onRollOver = over;
      t.icon.onRollOut = out;
      t.icon.onRelease = released;
   }
}

function over()
{
   //BONUS Section
   var sonido:Sound = new Sound();
   sonido.attachSound("sover");
   sonido.start();
   sonido.setVolume(100);
   
   
   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 sonido:Sound = new Sound();
   sonido.attachSound("sdown");
   sonido.start();
   sonido.setVolume(100);
   
   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
      {
// parametros para escalar y posicionar las imágenes cuando pinchamos en ellas

         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,420,1,true);
         var tw4:Tween = new Tween(t,"_y",Strong.easeOut,t._y,580,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 sonido:Sound = new Sound();
   sonido.attachSound("sdown");
   sonido.start();
   sonido.setVolume(100);
   
   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("thumbnails/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);
//escalado inicial de las imágenes   
   this._xscale = this._yscale = s*50;
   this.angle += this._parent.speed;
   this.swapDepths(Math.round(this._xscale) + 100);
}
//controla la velocidad de giro. + alto = + lento
this.onMouseMove = function()
{
   speed = (this._xmouse-centerX)/8000;
}


Muchas gracias!!!

Por Onexete

76 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 10 Ene 2009 02:42 pm
pon en el frame 1

Código ActionScript :

home.removeMovieClip();

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

msie
Citar            
MensajeEscrito el 10 Ene 2009 02:52 pm
nada, no hace ni caso a eso, sigue mostrándome el carrusel!!!

Por Onexete

76 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 10 Ene 2009 04:43 pm
el codigo lo tienes directamente en el frame 2, dentro de un mc o en donde??

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 10 Ene 2009 04:46 pm
Directamente en el frame2.
El código que me has pasado, lo pego en el frame1, pero aunque lo pegue directemente en el frame 2 funciona el carrusel
!!!

Por Onexete

76 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 11 Ene 2009 02:16 am
puedes subir tu archivo para poder verlo

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 11 Ene 2009 10:23 am
Hola,
Te he enviado un correo a tu cuenta de hotmail, porque no tengo ni idea de como subir por aquí un archivo.., si es que se puede!!!
Muchas gracias

Por Onexete

76 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 11 Ene 2009 06:59 pm
Puedes hospedarlo en cualquier servicio de Host gratuito (rapidshare, googlepages, ¿megaupload?) y solamente pegas por acá el link donde quedo almacenado. O si tienes tu propio servidor, ahí mismo lo haces.

Ahora, en cuanto a tu carrusel, no le encuentro mucha ventaja a que elimines esa sección si es posible que puedas regresar ahí y tener que cargar todo nuevamente, quizá ocultándola bastaría, ¿no?

Por M@U

BOFH

6210 de clabLevel

34 tutoriales
5 articulos

Genero:Masculino   Héroes Bastard Operators From Hell Editores

Bate jubilado de Cristalab

firefox
Citar            
MensajeEscrito el 11 Ene 2009 07:05 pm
Claro!!!

Lo que pretendo es que accedas a esa sección y cuando termines de verla regreses al menú principal (donde habrá botones a más secciones) y no veas ya el carrusel, a no ser que vuelvas a esa sección.

Por Onexete

76 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 12 Ene 2009 03:29 am
ok pon en el 1 frame en vez de lo que te pase

Código ActionScript :

for(var i=0;i<numOfItems;i++)
{
   var t:MovieClip = home["item"+i];
   t.removeMovieClip();
}

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 12 Ene 2009 07:41 am
Bueno, esto funciona perfectamente.
Eres un crack amigo!!!
Cuando vengas a Madrid avísame primero, así tendré tiempo de desplegar una alfombra roja del aeropuerto al hotel.
Una vez más muchas gracias por estar ahí.
Cuidate!!!

Por Onexete

76 de clabLevel



Genero:Masculino  

msie8

 

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