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

enterFrame no funciona..

Estas en el tema de enterFrame no funciona.. en el foro de Flash y Actionscript en Foros del Web. Buenas!... se puede agregar un listener a un movieclip o clase que no sea el stage?.. Yo tengo lo siguiente: Código: public function click(e:MouseEvent):void { ...
  #1 (permalink)  
Antiguo 15/10/2009, 18:28
Avatar de Artemix  
Fecha de Ingreso: marzo-2009
Mensajes: 141
Antigüedad: 15 años, 8 meses
Puntos: 0
enterFrame no funciona..

Buenas!...

se puede agregar un listener a un movieclip o clase que no sea el stage?..

Yo tengo lo siguiente:

Código:
public function click(e:MouseEvent):void 
		{
			model.addEventListener(Event.ENTER_FRAME, moveShot);
			stageX = e.stageX;
			stageY = e.stageY;
			
		}
		
		public function moveShot(e:Event):void
		{
			trace("Hola..?");
			var initial_position:Array = new Array;
			initial_position = model.getPosition();
			
			model.setPosition((initial_position[0] - stageX)/100,(initial_position[1] - stageY)/100 );
		}
El tema es.. que si bien error no me esta tirando, jamas entra en moveShot...

La solucion podria ser agregar el listener enterframe al stage, pero no puedo acceder desde esa clase...

Gracias!
  #2 (permalink)  
Antiguo 15/10/2009, 20:39
Avatar de Eskombro  
Fecha de Ingreso: septiembre-2009
Ubicación: Colombia
Mensajes: 437
Antigüedad: 15 años, 2 meses
Puntos: 22
Respuesta: enterFrame no funciona..

Lo que pasa es que no has creado un listener para la función 'click'. Esta nunca se activa, y por eso nunca adiciona el listener de 'moveShot'. Esta es mi impresión. Pero a la función 'click' también debes ponerle un listener. Como jamás entra en 'moveShot', jamás entrará en 'click'. Claro que puedes añadir un listener a algun objeto que no sea el stage. Pero una función enterframe no se la pones a una instancia. El enterframe funciona de forma independiente a los objetos, actua con relación, digamos, a la línea de tiempo principal.

Si quieres, revisa este link de mi nuevo blog...

http://as3ideas.com/2009/10/03/%C2%B...stener-en-as3/

Espero te ayude.
Un saludo.
Eskombro
__________________
Blog AS3 Ideas -> Programación en ActionScript 3
________
Esk Games | Free online flash games

Última edición por Eskombro; 21/01/2010 a las 13:57
  #3 (permalink)  
Antiguo 16/10/2009, 07:07
Avatar de Artemix  
Fecha de Ingreso: marzo-2009
Mensajes: 141
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: enterFrame no funciona..

Cita:
Iniciado por Eskombro Ver Mensaje
Lo que pasa es que no has creado un listener para la función 'click'. Esta nunca se activa, y por eso nunca adiciona el listener de 'moveShot'. Esta es mi impresión. Pero a la función 'click' también debes ponerle un listener. Como jamás entra en 'moveShot', jamás entrará en 'click'. Claro que puedes añadir un listener a algun objeto que no sea el stage. Pero una función enterframe no se la pones a una instancia. El enterframe funciona de forma independiente a los objetos, actua con relación, digamos, a la línea de tiempo principal.

Si quieres, revisa este link de mi nuevo blog...

http://as3ideas.wordpress.com/2009/1...stener-en-as3/

Espero te ayude.
Un saludo.
Eskombro
Primero que nada, gracias por la ayuda.

Pero... no es asi, si entra a la funcion click porque el listener lo tengo en otra clase, ya probe poniendo un trace ahi y funciona perfectamente.. el tema es que no entra a moveShot cuando detecta (o deberia detectar) enterFrame.

Alguna otra idea?.. se que en AS3 los addEventListener son medio rompe pelotas.. pero bueno.
  #4 (permalink)  
Antiguo 16/10/2009, 12:40
Avatar de Eskombro  
Fecha de Ingreso: septiembre-2009
Ubicación: Colombia
Mensajes: 437
Antigüedad: 15 años, 2 meses
Puntos: 22
Respuesta: enterFrame no funciona..

model.addEventListener(Event.ENTER_FRAME, moveShot);

cambialo por

addEventListener(Event.ENTER_FRAME, moveShot);

sin el model.
__________________
Blog AS3 Ideas -> Programación en ActionScript 3
________
Esk Games | Free online flash games
  #5 (permalink)  
Antiguo 16/10/2009, 12:41
Avatar de Eskombro  
Fecha de Ingreso: septiembre-2009
Ubicación: Colombia
Mensajes: 437
Antigüedad: 15 años, 2 meses
Puntos: 22
Respuesta: enterFrame no funciona..

Duplicado, perdon...
__________________
Blog AS3 Ideas -> Programación en ActionScript 3
________
Esk Games | Free online flash games
  #6 (permalink)  
Antiguo 16/10/2009, 12:43
Avatar de Artemix  
Fecha de Ingreso: marzo-2009
Mensajes: 141
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: enterFrame no funciona..

Si, gracias por la respuesta, unos minutos despues de postear puse this.addEventListener(Event.ENTER_FRAME, moveShot) y evidentemente funciono, ya que de esta forma estaria referenciandome correctamente.
  #7 (permalink)  
Antiguo 16/10/2009, 12:46
Avatar de Eskombro  
Fecha de Ingreso: septiembre-2009
Ubicación: Colombia
Mensajes: 437
Antigüedad: 15 años, 2 meses
Puntos: 22
Respuesta: enterFrame no funciona..

Cita:
Iniciado por Eskombro Ver Mensaje
Claro que puedes añadir un listener a algun objeto que no sea el stage. Pero una función enterframe no se la pones a una instancia. El enterframe funciona de forma independiente a los objetos, actua con relación, digamos, a la línea de tiempo principal.
Por eso te escribí lo anterior! Claro, no tenía idea de que el listener lo agregabas en otra clase y si, lo correcto es con el this si estás escribiendo una clase...

Que bueno que te funcionara. Un saludo.
__________________
Blog AS3 Ideas -> Programación en ActionScript 3
________
Esk Games | Free online flash games
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 17:19.