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

Flash: Pasar referencia de MovieClip a función

Estas en el tema de Flash: Pasar referencia de MovieClip a función en el foro de Flash y Actionscript en Foros del Web. Buenas, estoy usando el siguiente código: function calculaCoordenades(clip:String) { var xMi = [clip]._x-[clip]._width/2; var xMd = [clip]._x+[clip]._width/2; trace("foto xMi "+xMi); trace("foto xMd "+xMd) } con ...
  #1 (permalink)  
Antiguo 12/05/2005, 10:39
 
Fecha de Ingreso: mayo-2005
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Exclamación Flash: Pasar referencia de MovieClip a función

Buenas, estoy usando el siguiente código:
function calculaCoordenades(clip:String) {

var xMi = [clip]._x-[clip]._width/2;
var xMd = [clip]._x+[clip]._width/2;
trace("foto xMi "+xMi);
trace("foto xMd "+xMd)
}
con poco éxito.
El problema radica en que quiero con esta funcion calcular la posición exacta de un clip xMin, xMax, yMin y yMax.
Eso esta superado , el problema es que me gustaria que la función sirviese para calcular los datos de CUALQUIER MOVIECLIP, simplemente pasandoselo como parametro.

He provado con clip:MovieClip, pero me pasa lo mismo que con string, no se como hacer lo siguiente clip._x ....
Alguién puede ayudarme?

Grácias de antemano.
  #2 (permalink)  
Antiguo 12/05/2005, 10:47
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 15 años, 11 meses
Puntos: 193
No ecplicas cual es el problema, dices que con string te pasa lo mismo que con movieclip pero no dices que...

trata asi:

Código:
function calculaCoordenades(clip:MovieClip) {
	trace(clip);
	var xMi:Number = (clip._x-clip._width)/2;
	var xMd:Number = (clip._x+clip._width)/2;
	trace("foto xMi "+xMi);
	trace("foto xMd "+xMd);
}
  #3 (permalink)  
Antiguo 13/05/2005, 03:38
 
Fecha de Ingreso: mayo-2005
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Hola,
Que que pasa? pues que no me reconoce el MovieClip que le estoy pasando como parametro.. osea:
calculaCoordenades(_root.foto) //con esto no hay ningún resultado, lo que quiero saber es como puedo pasar un movieclip como parametro de una función, y como utilizarlo luego dentro de esta misma....


Grácias
  #4 (permalink)  
Antiguo 13/05/2005, 04:06
 
Fecha de Ingreso: diciembre-2004
Ubicación: La Rioja
Mensajes: 336
Antigüedad: 13 años
Puntos: 2
Hola, creo que TMeister ya te ha contestado: function calculaCoordenades(clip:MovieClip) en lugar de calculaCoordenades(_root.foto).

Yo no lo he utilizado pero por lo que pone supongo que debes poner: function calculaCoordenades(clip:_root.foto). (Espero no meter la pata...)

Espero haberte ayudado.
  #5 (permalink)  
Antiguo 13/05/2005, 04:49
 
Fecha de Ingreso: mayo-2005
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Gracias Morgui pero no funciona, lo vuelvo a probar esta tarde pero casi seguro que no.
  #6 (permalink)  
Antiguo 13/05/2005, 05:17
 
Fecha de Ingreso: diciembre-2004
Ubicación: La Rioja
Mensajes: 336
Antigüedad: 13 años
Puntos: 2
He estado probando y así parece que funciona:

function calculaCoordenades(clip) {
trace(clip);
var xMi = (clip._x-clip._width)/2;
var xMd = (clip._x+clip._width)/2;
trace("foto xMi "+xMi);
trace("foto xMd "+xMd);
}

Y para llamar a la funcion:
on(press){
_parent.calculaCoordenades(this); //El clip está en la linea de tiempo principal, y la funcion en el fotograma 1 de la misma linea de tiempo (solo tengo un fotograma).
}

Si mantengo "Number" como lo tenías tú no me funciona. Espero que te sirva
  #7 (permalink)  
Antiguo 13/05/2005, 09:50
 
Fecha de Ingreso: mayo-2005
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Ahora si nenes, simplemente he cambiado: calculaCoordenades(clip:MovieClip) por calculaCoordenades(clip), lo que me extraña es que si le digo a Flash que le pasaré un objeto de tipo MovieClip, NO FUNCIÓNE!!! (alguién sabe por que?)

Muchas Grácias.
  #8 (permalink)  
Antiguo 14/05/2005, 01:57
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 15 años, 10 meses
Puntos: 3
Seguramente estás utilizando FLASH MX, si fuera este el caso te dará error porque la sintaxis que estás utilizando es para FLASH MX 2004 en adelante (AS 2.0).
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #9 (permalink)  
Antiguo 14/05/2005, 02:56
 
Fecha de Ingreso: mayo-2005
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Negativo goc00, esto usando 2004 y lo tengo configurado con actionscript 2.0
Motivo por el cual me extraña que no funcione de la manera anterior, prueva el codigo arriba reseñado, y verifica que si le pasas un tipo MovieClip(especificando) o defines xMi o xMd como Number no funciona.

Muy curioso, si quieres te mando el código para que lo veas por ti mismo.

Grácias de todas maneras
  #10 (permalink)  
Antiguo 15/05/2005, 14:54
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 15 años, 10 meses
Puntos: 3
Lo pruebo cuando pueda bajar el FLASH MX 2004 de la página de macromedia
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
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 21:56.