Poblema con variable local y write_var()

Started by FPintaluba, June 02, 2010, 05:41:12 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

FPintaluba

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:


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!

SplinterGU

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.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

FPintaluba