Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: Futu-block on June 09, 2011, 09:05:19 PM

Title: ¿como borrar un texto y no el otro??
Post by: Futu-block on June 09, 2011, 09:05:19 PM
pos eso, quiero borrar un texto y no otro, con delete_text hay que poner entre parentesis un cero, igual al ponerle otro numero pasa algo, o una variable...

anoder guan:
la z del texto cargado, el que no trae de fabrica  ;D no funciona ¿no? lo digo porque reduzco y aumento text_z y no cambia para nada...
Title: Re: ¿como borrar un texto y no el otro??
Post by: BoMbErLiNk on June 09, 2011, 09:14:23 PM
Delete_text también va por ID.

texto=write(0,0,0,0,"hola"); => delete_text(texto);
Title: Re: ¿como borrar un texto y no el otro??
Post by: Futu-block on June 09, 2011, 09:17:42 PM
perfect, gracias BoMbErLiNk, te doy un karma, por que se que te gusta...
son cosas que uno supone pero hasta que no lo consulta no lo tiene claro
<->
vale, lo que pasa ahora es que si tengo una variable que mostrar la tengo que poner dentro de un loop porque me la borra de todas formas...
Title: Re: ¿como borrar un texto y no el otro??
Post by: KeoH on June 10, 2011, 12:22:21 PM
si tienes q mostrar una variable. como la puntuacion, escribela con write_var y te olvidas de actualizarlo en un loop.

Si haces delete_text(0), te borra todos los textos.
Title: Re: ¿como borrar un texto y no el otro??
Post by: Futu-block on June 10, 2011, 05:49:44 PM
vale, atentos porque voy a inundar de sarcasmo lo que voy a decir:
quiero borrar un texto, el otro no...
Title: Re: ¿como borrar un texto y no el otro??
Post by: gecko on June 10, 2011, 06:10:50 PM
podes hacerlo adentro del loop del proceso que quieras que escriba los textos:
[code language="bennu"]LOOP
    id_texto = write();
    FRAME;
    delete_text(id_texto)
END[/code]
Title: Re: ¿como borrar un texto y no el otro??
Post by: KeoH on June 10, 2011, 06:13:48 PM
Quote from: Futublock on June 10, 2011, 05:49:44 PM
vale, atentos porque voy a inundar de sarcasmo lo que voy a decir:
quiero borrar un texto, el otro no...

si solo quieres borrar un texto en particular solo tienes q poner su indicador dento de los parentesis de delete_text()
Title: Re: ¿como borrar un texto y no el otro??
Post by: Arcontus on June 10, 2011, 06:54:29 PM
Quote from: Futublock on June 10, 2011, 05:49:44 PM
vale, atentos porque voy a inundar de sarcasmo lo que voy a decir:
quiero borrar un texto, el otro no...
Yo lo haría de la siguiente manera:

PROCESS escribir(int Px, int Py, char *cadena, int *salida)
PRIVATE
int miCadena;
END
BEGIN
miCadena=write(0,Px,Py,0, cadena);
while(*salida == 0)
FRAME;
END
delete_text(miCadena);
END

Para llamar al proceso, pasamos la posicion x e y, el puntero de la cadena, y un puntero a variable de salida.
Para controlar más de un mensaje, se monta una estructura así:
type Cadenas
  int salir;
  string cadena;
END

Y se usa de la siguiente manera:
Dentro de la declaracion de variables del proceso a usarla, declaramos una nueva, tipo "cadenas":
Cadenas miCadena;

Y dentro del proceso a usarla, añadimos el texto a imprimir (ej: miCadena.cadena = "Hello World";)
Imprimimos la cadena mediante el proceso anterior: escribir( x, y, &miCadena.cadena, &miCadena.salida);
Y para eliminar un texto concreto, solo hay que cambiar el valor de miCadena.salida a cualquier valor diferente a 0.

Si queremos que un proceso controle por ejemplo 10 cadenas, creamos un vector de tipo cadenas: Cadenas miCadena[10]; y accedemos a sus valores de la siguiente manera: miCadena
Title: Re: ¿como borrar un texto y no el otro??
Post by: Drumpi on June 12, 2011, 12:21:32 AM
Como lo de borrar un texto está más que respondido, respondo a la segunda:

Text_z sólo afecta a los textos que escribas DESPUÉS DE LA SENTENCIA, así como text_color y alguna que otra más.