User Tag List

Resultados 1 al 3 de 3

Tema: Un par de dudas, ayuda please!

  1. #1

    Fecha de ingreso
    Feb 2005
    Ubicación
    Londres
    Mensajes
    4,520
    Mencionado
    3 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    3
    Agradecer Thanks Received 
    16
    Thanked in
    Agradecido 4 veces en [ARG:2 UNDEFINED] posts

    Question 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.

  2. #2

    Fecha de ingreso
    Sep 2005
    Mensajes
    3
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    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.

  3. #3

    Fecha de ingreso
    Sep 2005
    Mensajes
    15,180
    Mencionado
    247 Post(s)
    Tagged
    1 Tema(s)
    Agradecer Thanks Given 
    670
    Agradecer Thanks Received 
    1,845
    Thanked in
    Agradecido 1,263 veces en [ARG:2 UNDEFINED] posts
    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
  •