Autor Tema: Tontadas y pamplinas + Otras dudas  (Leído 17992 veces)

panreyes

  • Administrator
  • *****
  • Mensajes: 2225
  • Karma: 81
    • panreyes.com
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #195 en: Marzo 12, 2019, 12:53:18 pm »
En principio si usas get_point con una variable global, esta no debería ser sobreescrita sin motivo.

¿Lo haces de esta forma?
get_point( file, graph, 0, &global_x, &global_y );


Futu-block

  • Hero Member
  • *****
  • Mensajes: 2852
  • Karma: 34
  • Superviviente marciano
    • futublock
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #196 en: Marzo 12, 2019, 04:29:10 pm »
sip, lo asocio a una variable global ya definida de antemano, aunque lo revisaré si la he declarado tarde y no me hace caso

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2852
  • Karma: 34
  • Superviviente marciano
    • futublock
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #197 en: Marzo 14, 2019, 03:29:20 pm »
Otra:
 ¿Sabeis como se hace para que en mode_window se pueda cerrar pulsando la X de cerrado de la ventana?
***
------------------*---------------------
por cierto, me ha salido este error, a ver quien sabe que me falla




Este error me está ocurriendo mucho, y pasa mas frecuente cuando uso colisión del raton con la imagen del proceso

¿cuantas veces se puede hacer para que no falle?

lo ultimo que estoy haciendo es que al hacer click cambie el sprite del raton le meto un bloque for:
Código: [Seleccionar]

       if (collision (type mouse))   // si el raton entra en su grafico
         size = 110;
         if (mouse.left and !lef) lef = true;          // si se clica
            if (defrente == true)
               defrente = false;
            for (r = 200; r < 219; r++)
               mouse.graph = r;
               mouse.size = 50;
               frame(100);
            end
            mouse.graph = 999;
            mouse.size = 100;
         end
         if (!mouse.left and lef) lef = false; end


y el error segun he podido encontrar en la wel es  sobre wine...asi que bennu funciona en mi pc porque tengo wine, y si me falla es porque el wine me falla, si no no hay manera de echar a andar bennu... ¿no?
« última modificación: Marzo 14, 2019, 03:32:00 pm por Futu-block »

panreyes

  • Administrator
  • *****
  • Mensajes: 2225
  • Karma: 81
    • panreyes.com
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #198 en: Marzo 14, 2019, 03:43:45 pm »
Ni idea de por qué.

Cosas que te recomendaría:
- Asegúrate de que no estás funcionando con Bennu compilado en 64 bits porque explotarán los punteros everywhere.
- No uses punteros salvo que sea necesario (da igual que no esté optimizado, los PCs van muy sobrados y no necesitas FPS)
- Usa un proceso para las colisiones con el ratón, siempre será más cómodo (y creo que igual te resuelve eso también)

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2852
  • Karma: 34
  • Superviviente marciano
    • futublock
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #199 en: Marzo 14, 2019, 04:37:09 pm »
Ni idea de por qué.

Si idea porqué, y he estado haciendo pruebas y te respondo:

Cosas que te recomendaría:
- Asegúrate de que no estás funcionando con Bennu compilado en 64 bits porque explotarán los punteros everywhere.
- No uses punteros salvo que sea necesario (da igual que no esté optimizado, los PCs van muy sobrados y no necesitas FPS)

¿que coñ* es un puntero?
ah, vale, ya me acuerdo, preguntar por regiones de memoria y eso...
cosas que ni se usar ni quiero, asi que estoy a salvo

- Usa un proceso para las colisiones con el ratón, siempre será más cómodo (y creo que igual te resuelve eso también)

Esa es la clave que me está dando porcu, estaba haciendo el método visual basic: un proceso por cada botón, cada proceso miraba si se colisionaba con el raton y se modificaba, y al haber muchos botones han venido los problemas

¿Solución? la que usaba antes que no me daba ni uno, una rejilla y solo un proceso para el ratón que diga en que cuadro de la rejilla se ha clicado y se actua... mano de santo


Gracias, ya me estaba volviendo loco

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2852
  • Karma: 34
  • Superviviente marciano
    • futublock
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #200 en: Marzo 18, 2019, 08:47:57 am »
¿esto es normal? En el primer for uso como variables a y b, en el segundo vuelvo a usar a y b en vez de el e y f y no me responde como ponerlo con e y f:
Código: [Seleccionar]
// clonamos los graficos y lo guardamos en el array
    for (b = 0; b < 6; b++)
        for (a = 0; a < 6; a++)
            pest[b][a] = map_clone(fpg_evie, 710 + a);
        end
    end
// recortamos los sobrantes
    for (e = 0; e < 5; e++)
        for (f = 0; f < 6; f++)
            for (c = 0; c < 56; c++)
                for (d = 0; d < 48; d++)
                    if (map_get_pixel(fpg_evie, 720 + e, c, d) == rgb(255,0,0))
                        map_put_pixel(fpg_evie,pest[e][f],c, d,rgba(255,250,0,255));
                    end
                end
            end
        end
    end
si al principio del bloque for le pongo que a = 0 y b = 0 ¿porque se lo pasa por el forro?a mi no me importa usar mas variable, si combinas letras hay infinidad de variables, je je, pero ¿porque pasa?

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2852
  • Karma: 34
  • Superviviente marciano
    • futublock
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #201 en: Marzo 29, 2019, 07:11:35 pm »
En principio si usas get_point con una variable global, esta no debería ser sobreescrita sin motivo.
¿Lo haces de esta forma?
get_point( file, graph, 0, &global_x, &global_y );
pues me sigue dando problemas, le tengo que meter un frame en el mismo begin y antes del loop,no se lo que afectará o no al tema, en la primera imagen no tiene el frame y cargo los &global_x, &global_y en el main  y no lo carga


sin embargo en esta otra le hago frame delante de designar el valor x,y y funciona, me pone el ojo donde es...

Distinto ya que haya puesto el punto de control donde no es





Pd: tengo problemas de edición en el foro, no me respeta los saltos de linea
« última modificación: Marzo 29, 2019, 07:13:24 pm por Futu-block »

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2852
  • Karma: 34
  • Superviviente marciano
    • futublock
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #202 en: Marzo 30, 2019, 10:02:49 am »
Otra cosa que me pasa es que tengo una ''Violación de segmento (`core' generado)'' porque intento guardar el punto de control 0 correspondiente al centro real de la imagen, ya declarado...


Código: [Seleccionar]
//   get_point(fpg_cuerpos,100,0,&centx,centy);
   get_point(fpg_cuerpos,100,1,&hombr1x,&hombr1y);
   get_point(fpg_cuerpos,100,2,&hombr2x,&hombr2y);
De hecho, creo que tengo algún problemilla que me crea un porron de archivos con este ''core generado''
« última modificación: Marzo 30, 2019, 10:11:46 am por Futu-block »

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2852
  • Karma: 34
  • Superviviente marciano
    • futublock
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #203 en: Abril 07, 2019, 07:51:11 pm »
mas cositas que siguen fallando, al parecer no puedes hacer get_point detras de set_point...
habrá que meterle un frame de por medio o algo...




de todas formas, como lo que hago es medir el ancho + el alto y juego con esas medidas, las guardo en una global y san Sacabó.
Me vá a resultar mas cómodo

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2852
  • Karma: 34
  • Superviviente marciano
    • futublock
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #204 en: Mayo 24, 2019, 10:36:59 am »
Problemas con colisión y get_id:

Vamos, yo creo que hay algo que no estoy haciendo bien, esta vez es con un juego como el frogger que ya presenté en su dia en un concurso que @freeyourmind hizo en gp32spain...
Resulta que cuando está en el rio, comprueba con un mapa de durezas y muere a menos que esté sobre un tronco; hago un proceso llamado tronco y le doy un par de cualidades al cargar para que vaya a la izquierda o a la derecha (por ejemplo) así que lo que hago es comprobar si hay colisión con el tronco, le pregunta el id y lo guarda en una variable para actuar acorde con el movimiento del tronco, pero cuando salta a otro tronco con otra dirección se sigue moviendo en la misma dirección...Código por si acaso

Código: [Seleccionar]
localint direccion, velocidad;
            if (collision(type tronco))
                coli_rana = false;
                tronc = get_id(type tronco);
                switch (tronc.direccion)
                    case 0: x = x - tronc.velocidad; end
                    case 1: x = x + tronc.velocidad; end
                    case 2: x = x + tronc.velocidad; end
                end
            else
                coli_rana = true;                // activamos la colision
                rana_morida(x,y,rand(1,8));        // creamos imagen de rana muerta (probar con pegar png)
                x = -100; y = -100;                // sacamos la rana del campo de vision
            end
Seguro que hay algo que estoy haciendo mal, igual es la misma variable donde guardo en cada colisión con distintos procesos ''tipo'' tronco (ya que es el mismo) y debería usar una distinta, o lo mismo es donde lo tengo puesto, debería estar casi al final del loop, o que cuando deje de tener colisión esta variable valga cero y al colisionar otra vez pille la el id...
Todo eso si cada proceso tiene un id distinto aunque sea muchas veces el mismo
jelp plis, aclararme una mijita el tema

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12838
  • Karma: 377
Re:Tontadas y pamplinas + Otras dudas
« Respuesta #205 en: Mayo 24, 2019, 04:42:59 pm »
mas cositas que siguen fallando, al parecer no puedes hacer get_point detras de set_point...
habrá que meterle un frame de por medio o algo...




de todas formas, como lo que hago es medir el ancho + el alto y juego con esas medidas, las guardo en una global y san Sacabó.
Me vá a resultar mas cómodo

no hay que meter ningun frame.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2