Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: FPintaluba on June 02, 2010, 05:41:12 PM

Title: Poblema con variable local y write_var()
Post by: FPintaluba on June 02, 2010, 05:41:12 PM
Hola de nuevo!  ;D

Bueno, tengo un problemita.

Cree una variable local int llamada 'blockid' y un proceso Block(), ni bien comienza el begin del proceso Block(), se asignan los valores a x,y,file,graph, y despues blockid = graph, cosa que pueda cambiar blockid cuando quiera y no me cambie el gráfico.

Bueno, en el loop de Main(), tengo lo siguiente: write_var(0,20,20,0,Blocks[1][1].blockid);
Aclaro que son Blocks[10][8] procesos de block globales. Lo que queria aca con write_var, era que me escriba el valor de la variable local blockid, del proceso identificado en Blocks[1][1].

Ahora, el problema. Al presionar la tecla A, el Blocks[1][1] intercambia los valores de blockid con Blocks[1][2]. Esto ya esta hecho y funciona bien, pero siendo write_var dentro del loop de Main(), y ya intercambiados los valores Blocks[1][1].blockid y Blocks[1][2].blockid entre si, me aparece un numero arriba del otro.

Imagen:
(http://img199.imageshack.us/img199/1281/ejemplot.png)

Como ven, se ponen los valores de blockid de cada Block, que es lo mismo que el graph por ahora, o sea identifica cada color.

Miren lo que encuadré en rojo, ven los numeros? Eso sucede cuando intercambio los valores de 'blockid' de dos Blocks[1][1] y Blocks[1][2].

Gracias por leer!
Title: Re: Poblema con variable local y write_var()
Post by: SplinterGU on June 02, 2010, 06:11:38 PM
los write_int no deben estar en un loop, vos creas un objeto write y este se actualiza solo cuando modificas la variable, lo que esta pasando ahi, es que tenes mas de 1 write_int en la misma posicion... sacalos del loop, solo lo tenes que ejecutar 1 vez.

saludos.
Title: Re: Poblema con variable local y write_var()
Post by: FPintaluba on June 02, 2010, 10:14:07 PM
Gracias Splinter, era eso!