Foros del Web » Creando para Internet » Flash y Actionscript »

llamar a funciones

Estas en el tema de llamar a funciones en el foro de Flash y Actionscript en Foros del Web. holas a todos como puedo hacer para llamar una función, creada en mi escena principal function XX(); luego llamarala desde dentro de un movie clip ...
  #1 (permalink)  
Antiguo 06/07/2005, 19:37
 
Fecha de Ingreso: mayo-2005
Mensajes: 25
Antigüedad: 18 años, 10 meses
Puntos: 0
llamar a funciones

holas a todos como puedo hacer para llamar una función, creada en mi escena principal function XX(); luego llamarala desde dentro de un movie clip (aaa) que esta puesto en mi escena principal, yo prové, esto _root.function XX(); pero no resulto!, alguna idea, la función esta escrita en el primer fotograma de mi escena principal. y yo la llamo desde el último fotograma de mi movie clip. agradesco alguna ayuda
  #2 (permalink)  
Antiguo 06/07/2005, 23:42
Avatar de Prince  
Fecha de Ingreso: mayo-2003
Ubicación: DF
Mensajes: 574
Antigüedad: 20 años, 10 meses
Puntos: 1
lo que pasa es que cuando la mandas llamar tienes que omitir la palabra "function" y nada más ponerle en nombre de la función seguido de los paréntesis:

_root.XX();
__________________
- P R I N C E -
  #3 (permalink)  
Antiguo 07/07/2005, 14:09
 
Fecha de Ingreso: mayo-2005
Mensajes: 25
Antigüedad: 18 años, 10 meses
Puntos: 0
Si es exactamente como la llamo, pero no resultó, opte por hacer esto: cuando declaro la función lo hago asi:
_global.[nombre de la función] = function (param1, param2){...}

y cuando estoy dentro del el clip de película la llamo asi:

[nombre de la funcion](param1, param2); pero tampoco funcionó, asi que probe esto:
_root.[nombre de la funcion](param1, param2); y tampoco funcionó. alguien tiene alguna idea de como llamar a la función declarada en la escena principal, desde dentro de un clip de película. gracias.
  #4 (permalink)  
Antiguo 07/07/2005, 16:04
Avatar de Prince  
Fecha de Ingreso: mayo-2003
Ubicación: DF
Mensajes: 574
Antigüedad: 20 años, 10 meses
Puntos: 1
De hecho no tendría que haber ningún problema con eso de las llamadas a las funciones. simplemente crea una función en la línea de tiempo principalÑ
Código:
function alguna():Void{ trace("Se ejecutó la función");}
y en un MovieClip que esté incrustado en la línea de tiempo principal la mandas llamar con la siguiente instrucción:
Código:
this._parent.alguna();

//y si no te funciona, entonces hazle desde ese MovieClip un trace dirigido a esa función a ver si existe o si la ve.
trace(this._parent.alguna); //Te debe de dar como resultado [Type Function]
__________________
- P R I N C E -
  #5 (permalink)  
Antiguo 07/07/2005, 16:40
 
Fecha de Ingreso: mayo-2005
Mensajes: 25
Antigüedad: 18 años, 10 meses
Puntos: 0
mmm funcionó a la perfección, pero lo que no entiendo es por que utilizar toda la sintaxis this._parent.alguna(), y no solo, _parent.alguna() ó _root.alguna(); yo pense que solo las dos opciones finales eran suficientes. Alguna explicación para fortalecer mis conocimientos a cerca de esto?
  #6 (permalink)  
Antiguo 07/07/2005, 17:02
Avatar de Prince  
Fecha de Ingreso: mayo-2003
Ubicación: DF
Mensajes: 574
Antigüedad: 20 años, 10 meses
Puntos: 1
Algunas veces sí es suficiente sin el "this" pero otras no. Sinceramente sería un poco tedioso explicar cada una de las veces en las cuales utilizar "this" y en cuales no.

Pero en resumen "this" hace referencia: a la línea de tiempo, al objeto...
De preferencia trata de siempre usar "this" para evitarte confusiones o errores ya que, implícitamente, siempre estarás haciendo referencia desde donde quieres que parte la instrucción.
__________________
- P R I N C E -
  #7 (permalink)  
Antiguo 07/07/2005, 17:20
 
Fecha de Ingreso: mayo-2005
Mensajes: 25
Antigüedad: 18 años, 10 meses
Puntos: 0
muchas gracias, me ayudaste un monton, ahora voy a mejorar mi código. gracias chauuu
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:49.