Bueno, no es un problema grave pero quiero que la colision con la pared de mi juego de tanques sea mas realista
Me parece que no hace falta poner mas que el codigo de movimiento de mi tanque: (esto va en step)
if (left=1)
    {
    if (up=1)
    {
    y-=3.53
    x-=3.53
    image_angle=45
    exit
    }
    if (down=1)
    {
    y+=3.53
    x-=3.53
    image_angle=135
    exit
    }
    if (right=1)
    {
    exit
    }
   
    x-=5
    image_angle=90
   
    }
   
if (up=1)
    {
    if (right=1)
    {
    y-=3.53
    x+=3.53
    image_angle=315
    exit
    }
    if (down=1)
    {
    exit
    }

    y-=5
    image_angle=0

    }
   
if (right=1)
    {
    if (down=1)
    {
    y+=3.53
    x+=3.53
    image_angle=225
    exit
    }
   
    image_angle=270
    x+=5
   
    }
   
if (down=1)
    {
    image_angle=180
    y+=5
    }
   


Si, ya se que se podia hacer con vkcheck en vez de variables para las teclas, pero no tengo ganas de cambiarlo  ;D

A la colision con paredes la solucione precariamente haciendo que rebote, pero vean si saben una solucion mejor

Les dejo el gmk por las dudas...
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


Mmm probaste con:
[gml]
x = xprevious;
y = yprevious;
[/gml]

Y si no con if, lo simple.
[gml]
if place_free (x+4,y)
{
x += 4
}
//Y asi con todas las variantes de los movimientos.
[/gml]

No estoy en la casa de mi primo, ma?ana vuelvo pero este me parece una muy buena idea
Citarx = xprevious;
y = yprevious;

En cambio este no
Citarif place_free (x+4,y)
{
x += 4
}
//Y asi con todas las variantes de los movimientos.
Porque el x+4 podria no estar ocupado pero mas a la izquierda podria superponerse una parte del tanque ya que el tanque mide 16 pixeles no 1 ?

Soy medio novato, ma?ana pruebo
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


Cita de: Mgbu en Septiembre 07, 2011, 05:11:42 PM
En cambio este no
Citarif place_free (x+4,y)
{
x += 4
}
//Y asi con todas las variantes de los movimientos.
Porque el x+4 podria no estar ocupado pero mas a la izquierda podria superponerse una parte del tanque ya que el tanque mide 16 pixeles no 1

Yo te di un ejemplo, ponle los valores que tu quieres.

No creo que se superponga, ya que muchos de los juegos de plataformas (Que he visto) usan este metodo y si usas bien las mask no hay problema de colisiones.

No entendi lo de que puede superponerse a la izquierda, si te estas moviendo a la derecha con x += 4

No podia esperar, le instale el gm8 a mi primo  :)

Arreglo macanas primero  :-[
CitarNo entendi lo de que puede superponerse a la izquierda, si te estas moviendo a la derecha con x += 4
Quise decir a la derecha, ademas el metodo funciona (yo creia que no) pero es mas complicado y me parece mas "glitchy" que el otro

Muchas gracias, el metodo
x = xprevious;
y = yprevious;

funciona de 10, tema cerrado

PS: Como es eso de cambiar el karma?, yo quiero "puntuar" a la gente que me ayuda pero no se como
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


Debes tener un cierto numero de mensajes, ahora mismo no recuerdo cuantos son, pero tienes que subir por lo menos un rango, creo que la imagen del rango es de 33%

Me alegro haberte ayudado :)