Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: Yawin on February 22, 2015, 03:50:41 PM

Title: Un error que afecta a "graph" que no entiendo por qué pasa
Post by: Yawin on February 22, 2015, 03:50:41 PM
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
Title: Re:Un error que afecta a "graph" que no entiendo por qué pasa
Post by: panreyes on February 22, 2015, 05:37:44 PM
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?
Title: Re:Un error que afecta a "graph" que no entiendo por qué pasa
Post by: Yawin on February 22, 2015, 05:56:56 PM
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.