Ayuda con error en juego Flash
Buenas a todos, a ver si consigo explicarme con mi problema, tengo que hacer un juego en flash al estilo "guitar hero", es decir, una ficha que descienda y al pasar por una zona pulsar un botón y que sume puntos, si se pasa de esa zona y toca otra zona le resta, al no pulsar la tecla en su momento, no? el problema viene que cuando he creado todo el código me sale un error con un "with" y no consigo localizarlo, sabiendo que aquí hay mucho máquina en as he decidido buscar ayuda....a ver si me echais un cable.
os paso el archivo a ver si lo veis más claro así!
el error creo que está aquí...
onClipEvent (enterFrame) {
with (this) {
if (Key.isDown(83)) {
resultado = Number(_root.juego.puntu.text)+10;
_root.juego.puntu.text = resultado;
with (_root.juego.b1) {
gotoAndStop(1);
}
}
}
}
oskitar
cambia
with (_root.juego.b1) {
gotoAndStop(1);
}
por esto
_root.juego.b1.gotoAndStop(1);
devil_dante
pues me sigue saliendo un error con "with".......
a parte de todo esto....."with" no sirve para controlar la linea de tiempo de otro clip que no sea al que le estás metiendo el código??
oskitar
No, with sirve para declarar el scope a lque se refieren todas las cosas que estan encerradas entre llaves, se suele usar para evitar escribir la ruta de un objecto si tienes que acceder sus diferentes propiedades o métodos.
with(escenario.superercontenedor.contenedor.grupo.elemento){
propiedad1 = "wadus";
propiedad2 = "wadus";
propiedad3 = "wadus".
//...
}
Y así evitas escribir:
escenario.superercontenedor.contenedor.grupo.elemento.propiedad1 = "wadus";
escenario.superercontenedor.contenedor.grupo.elemento.propiedad2 = "wadus";
escenario.superercontenedor.contenedor.grupo.elemento.propiedad3 = "wadus".
//...
De modo que with es una sentencia de la que puedes prescindir, se suele usar para mantener el código legible, así que tu código puede transformarse en esto, prueba a ver si te sigue fallando…
onClipEvent (enterFrame) {
if (Key.isDown(83)) {
this.resultado = Number (_root.juego.puntu.text) + 10;
_root.juego.puntu.text = resultado;
_root.juego.b1.gotoAndStop(1);
}
}
devil_dante
pues sí que me sigue saliendo!!
la opción que me comentas creo que ya lo intenté porque me sonaba hacerlo así, pero me salta el error sólo cuando acierto, no sé si te has bajado el .fla, lo mismo el fallo está en otro lado. :(
oskitar
No me he bajado el .fla pero si te salta el error solo cuando aciertas, el error definitivamente no está ahí, el código que has pegado hace lo siguiente:
Cada nuevo frame{
si está pulsada la tecla cod.83,{
sumo 10 a resultado,
actualizo el valor de un texto
y coloco un objeto en el fr. 1
}
}
Ahí no hay evaluación sobre acierto ni nada parecido, mira aver si tiens otro bloque de código con un with mal puesto, usa el buscador de flash para localizar todas las coincidencias en el código con with.
devil_dante
pues creo que ya he encontrado el fallo!!!
muchas gracias tio!! de verdad te estoy muy agredecido!! voy a seguir dandole!!
devil_dante
hola de nuevo a todos!! he solucionado el tema del erro del with completamente!!
ahora tengo otro problemilla!! como controlo la aparicion de los clips que contienen las fichas?? es que como paro la cabeza lectora con un stop.....y no se como controlar el que salga un clip cuando yo quiero.... vaya tela de juego ....me lleva de cabeza!
oskitar
¿Esto es para tu trabajo? o ¿lo estás haciendo para aprender?
devil_dante
más bien es para clase!! que creo que me complicado la vida!! tenía que haberme currao un matamarcianos cutre y punto!! :(