-
Un par de dudas, ayuda please!
Hola a tod@s, reengancharme a este lenguaje me esta costando mas de lo que esperaba y me he encontrado con un par de problemas en la prueba que estoy haciendo.
En primer lugar he creado un REPEAT para que aparezcan los enemigos en la pantalla de manera aleatoria y se supone que cuando uno de estos enemigos "colisiona" con el proceso, llamemoslo protagonista, deberían de dejar de salir enemigos en la pantalla, pero sucede todo lo contrario y salen muchos mas enemigos ya que el proceso "protagonista" es quien dice con que aleatoriedad salen los enemigos. Entonces mi pregunta es como puedo hacer para romper ese repeat de tal forma que dejen de salir los enemigos. (Espero haberme explicado bien).
Y otra duda que tengo es la siguiente, y es que cuando matas a un enemigo suben 20 puntos al marcador pero cuando has matado a un número elevado de enemigos me salta la ventanita de que hay demasiados textos en pantalla... como puedo solucionarlo?
Gracias por la ayuda!
Saludos, Nakio.
-
-
La sentencia BREAK deberia interrumpir cualquier loop/repeat, si quieres hacerlo desde el proceso "protagonista" envia un signal s_kill o s_sleep (depende de lo que quieras hacer) al proceso que crea los enemigos.
-
-
Sin el codigo poco puedo decirte, pero mi intuicion me dice que en el proceso enemigo has puesto algo asi:
if (collision(nave()))
que lo que hace es crear otro proceso nave, y por eso salen mas, pero debo ver el codigo o debes ser algo mas explicito.
Respecto a lo de los puntos es un error muy frecuente de los que vienen de DIV o de lenguajes donde se sobreescriben los textos: Fenix NO borra textos anteriores, por lo que, si usas write, debes borrar el texto antes de escribirlo de nuevo con delete_text, usando como parametro el valor que devuelve el write, ejemplo
loop
texto1=write(0,x,y,0,puntos);
...
frame;
delete_text(texto1);
end
Otra opcion mas sencilla es que uses la funcion write_int o alguna de sus "hermanas" (write_byte, write_var...). La ventaja es que SOLO DEBES ESCRIBIRLA UNA VEZ, no la metas en un loop, y asi se acualizara el texto a medida que cambie el valor contenido en la variable que le pasas por parametro.
Espero que te sirva de ayuda.
-
Permisos de publicación
- No puedes crear nuevos temas
- No puedes responder temas
- No puedes subir archivos adjuntos
- No puedes editar tus mensajes
-
Reglas del foro
Marcadores