Comunidad de diseño web y desarrollo en internet online

ayuda cambio de cursor y llamado a función desde un mc

Citar            
MensajeEscrito el 12 Nov 2012 12:15 pm
ayuda...

chicos quisiera hacer una consulta, tengo un movieclip llamado "showGraph" en el cual debe cambiar el cursor al pasar por encima de él, y además al hacer clic debe llamara a una función, el tema es que lo de la función ndaba bien hasta que hice que el cursor cambiara ahora cambia el cursor pero no entra a la función... a qué se puede deber? :shock:

el código es el sgte:

Código ActionScript :

this.addEventListener(MouseEvent.MOUSE_MOVE, cursorNuevo);//al cargar se activa el 

cursor;

function cursorNuevo(event:MouseEvent):void
{
   if (showGraph.hitTestPoint(mouseX, mouseY, true))//Se activa cuando está sobre el 

mc
   {
      Mouse.hide();
      mano.visible = true;
      mano.x = mouseX;
      mano.y = mouseY;
      showGraph.gotoAndStop("sobre");//además de cambiar el cursor muestro un 

texto específico
   }
   else
   {
      Mouse.show();
      mano.visible = false;
   }
}


//luego al hacer click en el mc llamo a la función respectiva
showGraph.addEventListener(MouseEvent.CLICK,MostrarGrafico);

function MostrarGrafico(e:MouseEvent)
{
   addGraph();
}


function addGraph()
{
   addNumber.visible = false;
   graphic=new Graphic();
   addChild(graphic);
   var total:Number = 0;
   total=303/(replyValue[0]+replyValue[1]+replyValue[2]+replyValue[3]);
   if (total == Infinity)
   {
      total = 0;
   }
   graphic.cancelButton.buttonMode = true;
   graphic.cancelButton.addEventListener(MouseEvent.CLICK,closeGraph);
   graphic.bar1.height=(total*replyValue[0]);
   graphic.bar1.y = 584 - graphic.bar1.height;
   graphic.bar2.height=(total*replyValue[1]);
   graphic.bar2.y = 584 - graphic.bar2.height;
   graphic.bar3.height=(total*replyValue[2]);
   graphic.bar3.y = 584 - graphic.bar3.height;
   graphic.bar4.height=(total*replyValue[3]);
   graphic.bar4.y = 584 - graphic.bar4.height;
   graphic.number1.y = graphic.bar1.y - 50;
   graphic.number2.y = graphic.bar2.y - 50;
   graphic.number3.y = graphic.bar3.y - 50;
   graphic.number4.y = graphic.bar4.y - 50;
   graphic.number1.text = replyValue[0];
   graphic.number2.text = replyValue[1];
   graphic.number3.text = replyValue[2];
   graphic.number4.text = replyValue[3];
}


pd: esto se encontraba hecho yo sólo debo hacer modificaciones, pero aún me cuesta un poco as3

Por danielillapp

35 de clabLevel



Genero:Femenino  

Aprendiz de la vida y AS3

chrome
Citar            
MensajeEscrito el 12 Nov 2012 01:38 pm
Por que no le asignas el cambio de cursor al MouseEvent.MOUSE_OVER de showGraph en vez de asignarselo al MOUSE_MOVE del contenedor (porque en realidad necesitas que se muestre cuando está arriba, es ineficiendo trackear el Mouse move)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 21 Nov 2012 12:46 pm
Sabes hice una función nueva para otro botón q tngo en ese mismo proyecto, pero el icono se queda pegado sobre el mc:

cancelButton.addEventListener(MouseEvent.MOUSE_OVER,cursorCerrar);


function cursorCerrar(event:MouseEvent):void
{
if (cancelButton.hitTestPoint(mouseX,mouseY,true))
{
Mouse.hide();
mano2.visible = true;
mano2.x = mouseX;//para que siga el movimiento en X
mano2.y = mouseY;
cancelButton.gotoAndStop("sobre");
}
else
{
Mouse.show();
mano2.visible = false;
cancelButton.gotoAndStop("ini");
}
}

Por danielillapp

35 de clabLevel



Genero:Femenino  

Aprendiz de la vida y AS3

chrome
Citar            
MensajeEscrito el 21 Nov 2012 12:57 pm
Sería así:

Código ActionScript :

cancelButton.addEventListener(MouseEvent.MOUSE_OVER,cursorCerrar);
cancelButton.addEventListener(MouseEvent.MOUSE_OUT,cursorAbrir);

function cursorCerrar(event:MouseEvent):void
{
  Mouse.hide();
  mano2.visible = true;
  mano2.x = mouseX;//para que siga el movimiento en X
  mano2.y = mouseY;
  cancelButton.gotoAndStop("sobre");
}

function cursorAbrir(evt:MouseEvent):void
{
   Mouse.show();
   mano2.visible = false;
   cancelButton.gotoAndStop("ini");
} 


Si el botón no es muy grande puede pasar, sino tendrás que agregar además un onEnterFrame en el MOUSE_OVER para que actualize mano2 a la pocisión del Mouse, y lo matas en el MOUSE_OUT. No hace falta el hitTest

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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