Comunidad de diseño web y desarrollo en internet online

LLamada de funcion en otra función.

Citar            
MensajeEscrito el 17 Feb 2007 12:55 am
Hola un saludo, espero que sepan contestarme, yo pienso que si... haya voy:

Por mas que he buscado no se como puedo resolver mi problema.

Me he creado una funcion, que se le envia un parametro y devuelve el nombre de una canción:

Código :

_global.nombraCuento = function(cuento:Number):String
{
   var nombrecuento:String = "";
   
   if(cuento == 0)
   {
      trace ("No suena ningun cuento");
      return nombrecuento;
   }
   if(cuento == 1)
   {
      nombrecuento = "caperucita_mp3";
      trace ("sonando "+nombrecuento);
      return nombrecuento;
   }
   if(cuento == 2)
   {
      nombrecuento = "pulgarcito_mp3";
      trace ("sonando "+nombrecuento);
      return nombrecuento;
   }
   if(cancion == 3)
   {
      nombrecuento = "bella_durmiente_mp3";
      trace ("sonando "+nombrecuento);
      return nombrecuento;
   }
};


Entonces la yamo desde otra funcion, por ejemplo esta misma:

Código :

playstopcuento_btn.onPress = function ()
{
  var cuentosonando:String = "No se detecto nombre";

  cuentosonando=nombraCuento(opcionCuento);

  trace ("Sonando  "+cuentosonando);
}


Deberia imprimirme segun el numero de cancion que le envio por una variable global el nombre de la cancion, pero el trace me imprime UNDEFINIED.

Estoy loco y nose como solucionar esto, ¿podrín ayudarme?

Por novatonScript

3 de clabLevel



 

msie
Citar            
MensajeEscrito el 17 Feb 2007 03:39 am
Creo que el error podría estar en la variable que le pasás a la función, yo te recomendaría poner un último return, luego de todos los ifs:

Código :

return "Error en la función"
También te recomiendo mirar cómo funciona el switch, vas a ver que te ahorra mucho trabajo.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 18 Feb 2007 03:58 pm
A ver yo me refiero lo mismo a esto: A ver si me explico mejor con esto:


function suma(a,b):Number
{

var c = 0;
c=a+b;
return c;
}
//suma haciendo clic en boton suma:
suma_btn.onRelease = function()
{
var A = 1;
var B = 2;
var suma= suma(A,B);
trace ("suma = "+suma);
}

Trace devuelve IDEFINIED de nuevo, no se poque aun y eso que he buscado.

Por novatonScript

3 de clabLevel



 

msie
Citar            
MensajeEscrito el 18 Feb 2007 04:07 pm
A ver, probá con esto:

Código :

suma = function (valorA:Number, valorB:Number) {
var resultado = valorA + valorB;
return resultado;
};
boton.onRelease = function () {
trace (suma (1, 5));
};
Además, seguiste mi consejo anterior? Qué pasó?

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 18 Feb 2007 04:17 pm
function suma(a:Number,b:Number)
{

var c=a+b;
return c;
}
//suma haciendo clic en boton suma:
suma_btn.onRelease = function()
{
var sumado = suma(1,5);
trace ("suma = "+sumado);
};


El problema era que antes habia hecho:
var suma= suma(A,B);
trace ("suma = "+suma);

suma es una funcion y a la vez uan variable, vamos fallo de novato nombre a la variable igual que la funcion y en trace ("suma = "+suma); esperaria unos parametros que no llegaban nunca, creo que de ahi el INDEFINIED.

Por novatonScript

3 de clabLevel



 

msie
Citar            
MensajeEscrito el 18 Feb 2007 04:17 pm
Asias TIO que se me olvidaba ;), aun soy novatillo.

Por novatonScript

3 de clabLevel



 

msie
Citar            
MensajeEscrito el 18 Feb 2007 04:23 pm

Código :

var miNuevoValor:Number;
//
suma = function (valorA:Number, valorB:Number) {
var resultado = valorA + valorB;
return resultado;
};//
boton.onRelease = function () {
miNuevoValor = suma (1, 5);
trace ("1 + 5 = " + miNuevoValor);
};
Creo que el problema era que usabas variables de una sola letra y en mayúscula.

Por HernanRivas

Claber

3416 de clabLevel

26 tutoriales

 

Argentina

msie
Citar            
MensajeEscrito el 18 Feb 2007 04:43 pm
Lo mas seguro, yo lo que buscaba era aprender como llamar a una funcion dentro de otra y ya se, pues gracias ya aprendi un pokito mas :D

Por novatonScript

3 de clabLevel



 

msie

 

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