Hola a todos. Me temo que sigo con problemas. Os explicaría el error, pero me temo que es mejor si lo grabo y os lo pongo:
https://www.youtube.com/watch?v=e5ofIMnSOIA
Os adjunto el código del proyecto que os enseño en el juego por si alguno quiere mirarlo: http://pensarescompartir.com/bin.zip
No he comprendido del todo el problema que tienes, pero tengo la sensación de que está todo relacionado con ese father.graph=graph;
¿Podría ser?
El caso es que, a los 30 segundos o así de empezar todos los que usan la función char_calc reciben como gráfico el del primero de ellos.
P.d.: Acabo de resolverlo. La función ha quedado así:
function char_calc(int fpg_id,int graph_orig,int pos1,int pos2,int frames,int orientaciones)
private
int i,j,cant_x,cant_y;
int x_inic, y_inic;
end
begin
cant_x=map_info(fpgs[fpg_id],graph_orig,G_WIDTH)/frames;
cant_y=map_info(fpgs[fpg_id],graph_orig,G_HEIGHT)/orientaciones;
map_unload(0,father.graph);
father.graph=map_new(cant_x,cant_y,16);
y_inic=cant_y*pos1;
x_inic=cant_x*pos2;
for(i=0;i<cant_x;i++)
for(j=0;j<cant_y;j++)
map_put_pixel(0,father.graph,i,j,map_get_pixel(fpgs[fpg_id],graph_orig,x_inic+i,y_inic+j));
end
end
center_set(0,father.graph,map_info(0,father.graph,G_WIDTH)/2,map_info(0,father.graph,G_HEIGHT));
end
Pero me escama que me falle en este proyecto cuando en otros no lo hace.