Comunidad de diseño web y desarrollo en internet online

COMO SEPARAR CHILD NODES

Citar            
MensajeEscrito el 11 Nov 2009 07:40 pm
Buenas Tardes,

Estoy haciendo un menú a partir de un ejemplo que encontré, consta de un fla, un xml y unas imágenes; necesito que cada uno de los botones me cargue un swf externo, ya logré que me cargara el primero pero el problema es que todos los botones quedan cargando el mismo y no sé como darles la orden diferente en flash.

El xml está así:

Código XML :

<icons>

<icon image="icon1.png" tooltip="Operaciones con fraccionarios"/>  

<icon image="icon2.png" tooltip="Razones y Proporciones" />

<icon image="icon3.png" tooltip="Recta Numerica"/>

<icon image="icon4.png" tooltip="Decimales, valor posicional"/>

<icon image="icon5.png" tooltip="Un poco mas del llano"/>

</icons>


y el fla tiene el siguiente código:

Código ActionScript :

import mx.utils.Delegate;[code:1:29b63e2534][code][code][/code][/code][/code:1:29b63e2534]
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.05;
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;
         loadMovieNum("presenta.swf",1);//aquí cargué el swf que cargan todos los botones
         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)/2000;
}


Si alguien me puede ayudar le agradezco mucho

Por alejilla

Claber

120 de clabLevel



Genero:Femenino  

Colombia

firefox
Citar            
MensajeEscrito el 11 Nov 2009 09:13 pm
Hola, no entendi bien que es lo que querias :P exactamente en que parte esta el error?

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

msie7
Citar            
MensajeEscrito el 11 Nov 2009 11:17 pm
Hola Gracias por contestar

Así como está funciona bien, lo que necesito es que al dar click en cada uno de los íconos me cargue un archivo swf diferente y siempre me está cargando el mismo. Sabes en qué parte puedo especificar cada carga y cómo hacerlo?.

Muchas Gracias,Cuídate

Por alejilla

Claber

120 de clabLevel



Genero:Femenino  

Colombia

firefox
Citar            
MensajeEscrito el 13 Nov 2009 05:59 am
supongo que te refieres a esta linea de codigo:

Código ActionScript :

loadMovieNum("presenta.swf",1);//aquí cargué el swf que cargan todos los botones 


prueba con algo asi:

Código ActionScript :

loadMovieNum(this._name,1);


tus swf tendrian que llamarse:

item0.swf
item1.swf

etc.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 13 Nov 2009 05:59 am
perdon, era:

this._name + ".swf"

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox

 

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