Comunidad de diseño web y desarrollo en internet online

problemas con un juego

Citar            
MensajeEscrito el 23 Oct 2008 10:05 pm
Hola,
tengo este codigo:

Código :

stop();
addEventListener(Event.ENTER_FRAME, recorrido);
addEventListener(KeyboardEvent.KEY_DOWN, disparo);
var mcs;

function disparo(event:KeyboardEvent){
   if(event.keyCode== Keyboard.SPACE){ 
   var mcs=new bala();
   addChild(mcs);
   recorrido();
   }
}
function recorrido(event:Event):void{
   mcs.x+=10;
}

lo que quiero es que al pulsar el espacio aparezca la bala que es un clip de pelicula y haga la funcion recorrido que es la que mueve la bala. el problema es que al ejecutarlo aparece lo siguiente:

escribió:

1136: Número de argumentos incorrecto. Se esperaba 1.

y el error esta en el recorrido()
si quito el recorrido() me sale esto:

escribió:

Código :

TypeError: Error #1010: Un término no está definido y no tiene propiedades.
   at jhonnywave_fla::prota_1/recorrido()

asi que debo tener mas de un fallo en el codigo
a ver si podeis ayudarme
muchas gracias :)

Por elgordo

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Oct 2008 10:26 pm
Decláralo así:

Código ActionScript :

function recorrido(event:Event  = null):void{
   mcs.x+=10;
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Oct 2008 04:09 am
vale ya he cambiado eso
pero sigue saliendo este fallo

Código :

TypeError: Error #1010: Un término no está definido y no tiene propiedades.
   at jhonnywave_fla::prota_1/recorrido()

Gracias por responder :D

Por elgordo

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Oct 2008 06:44 am
En primer lugar, el error que te daba es que precisaba un argumento. Habías escrito

Código ActionScript :

function recorrido(event:Event)

y llamabas a la función sin argumentos

Código ActionScript :

recorrido()

Por eso Jorge sugirió darle un valor por defecto al argumento

Código ActionScript :

function recorrido(event:Event  = null)


Vale, ahora con lo del error "mcs" NO VALE NADA. Vamos tienes escrito al principio

Código ActionScript :

var mcs;
//deberías hacer escrito
var mcs:bala; //<--es un objeto de la clase Bala

Pero, en la función donde controlas el teclado escribes

Código ActionScript :

var mcs=new bala();

ESE "var" indica que es una variable que sólo sirve DENTRO de la función "disparo" y que es DISTINTA al "mcs" de la película principal.
Solución:quita ese var o pasalé como argumento a la función "recorrido" dicha variable
NOTA:Evidentemente, no va a funcionar el disparo (lo vas a ver enseguida)
NOTA2:ACOSTUMBREMONOS a definir las clases la primera con MAYÚSCULAS. Ya sé que no tiene mucha importancia y es sólo una costumbre extendida, pero hace mucho más fácil saber cuándo nos estamos refiriendo a una definición de clase y cuando a una función.

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Oct 2008 05:29 pm
no lo entiendo...
yo tengo esto ahora

Código :

stop();
addEventListener(Event.ENTER_FRAME, recorrido);
addEventListener(KeyboardEvent.KEY_DOWN, disparo);
//var mcs:bala;
var mcs=new bala(); 

function disparo(event:KeyboardEvent){
   if(event.keyCode== Keyboard.SPACE){ 
   addChild(mcs);
   recorrido();
   }
}
function recorrido(event:Event  = null):void{ 
   mcs.x+=10; 
} 

y no hace nada
si quito recorrido() y pongo mcs.x=100
tampoco pasa nada
alguien puede echarme una mano?
Gracias por las respuestas gente :D

Por elgordo

8 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Oct 2008 05:35 pm
Usa

stage.addEventListener(KeyboardEvent.KEY_DOWN, disparo);

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Oct 2008 06:15 pm
ahora :D:D:D
gracias!

Por elgordo

8 de clabLevel



 

firefox

 

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