Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - eltantillo

1
Para esto vas a necesitar llevar un control desde un objeto, por ejemplo en el que los crea. Almacenas los ids y  de esa manera puedes discriminar instancias.
2
Hola muy buenos días a todos.

Me interesaría sumarme a este proyecto de traducción del manual oficial del GMS. Tengo bastante experiencia con GameMaker (ando por aquí desde la versión 5), lo mismo con le inglés lo domino bastante bien, además tengo muy buena ortografía. El único detalle es que no cuento con mucho tiempo libre, entre la escuela, el trabajo, la esposa y un juego en el que estoy trabajando me queda poco tiempo, pero nunca se puede decir que no tienes tiempo libre.

En lo personal me interesa este proyecto porque quiero iniciar una pequeña escuela de desarrollo de videojuegos aquí en mi ciudad y me vendría muy bien tener el manual del GMS en español.

Mi skype es eltantillo, estoy a sus órdenes para cualquier cosa, saludos.
3
no eh utilizado mucho el html5, pero según se, los ejecutables no son necesarios para la ejecución del juego en html5. GameMaker te los crea como extras, pero no tienes la necesidad de distriburlos juntamente con los scripts, deberías compilarlo y postearlo por aquí para ver que se puede hacer, realmente no soy muy allegado al HTML5 pero algo se podrá hacer.

Saludos.
4
Una forma sencilla que se me ocurre, es checar si el personaje está a la derecha o a laizquierda del enemigo
if player.x > x
    hspeed = 1
else if player.x < x
    hspeed = -1
else if player.x == x
    hspeed = 0

Esto llevará al enemigo hasta la misma posición x que tu jugador, luego hacer lo mismo con la posición y
if player.y > y
    vspeed = 1
else if player.y < y
    vspeed = -1
else if player.y == y
    vspeed = 0


Si quieres que el enemigo, brinque obstáculos  sería cuestión de checar si el próximo "cuadro" del grid está libre antes de movernos, si no, entonces movernos en el otro eje. Te puedo escribir un pequeño ejemplo si quieres.
5
Preguntas y respuestas / Re:Que no se pare???
Julio 09, 2012, 11:41:56 PM
Cita de: elviskelley en Julio 09, 2012, 02:52:44 PM
En el objPiso.
Event End step.
if objJugador.y < y then {solid=true;}else{solid=false;}
//esto hará que solo

Y En el objJugador
Event de colision contra el objPiso
if other.solid
{
aqui colocas lo que ya esta en ese event
}

Lo que pasa es que se esta utilizando un único objeto para cualquier pared, sea piso o techo o pared de un lado, según lo que leí en el primer post.

Al hacer el objeto sólido y mantener pulsado la tecla en dirección al objeto sólido, es como si estuvieras "metiendo" a tu personaje dentro del objeto y es por eso que no puede moverse en ninguna otra dirección.

Lo que tienes que hacer es un script que te ayude a detectar en que direccion esta el bloque y hacia donde te estas moviendo, crea un script nuevo y llamalo step_solid y dentro debes incuir este codigo:
var i;
if (keyboard_check(argument1))
    for (i=argument0;i>=0;i-=1)
        if (place_free(x,y-i))
            y-=i;
            else
                {
                if (place_free(x-i,y-i))
                    x-=i/2;
                if (place_free(x+i,y-i))
                    x+=i/2;
                }
if (keyboard_check(argument2))
    for (i=argument0;i>=0;i-=1)
        if (place_free(x,y+i))
            y+=i;
            else
                {
                if (place_free(x-i,y+i))
                    x-=i/2;
                if (place_free(x+i,y+i))
                    x+=i/2;
                }
if (keyboard_check(argument3))
    for (i=argument0;i>=0;i-=1)
        if (place_free(x-i,y))
            x-=i;
            else
                {
                if (place_free(x-i,y-i))
                    y-=i/2;
                if (place_free(x-i,y+i))
                    y+=i/2;
                }
if (keyboard_check(argument4))
    for (i=argument0;i>=0;i-=1)
        if (place_free(x+i,y))
            x+=i;
            else
                {
                if (place_free(x+i,y-i))
                    y-=i/2;
                if (place_free(x+i,y+i))
                    y+=i/2;
                }

y lo llamas desde el step event del jugador de la siguiente manera:
step_solid(3,vk_up,vk_down,vk_left,vk_right);
donde:

  • argument0 = Velocidad (Aqui incluyes la velocidad en pixeles de tu personaje, que son los que va a detectar el script a continuacion)
  • argument1 = Tecla Arriba
  • argument2 = Tecla Abajo
  • argument3 = Tecla Izquierda
  • argument4 = Tecla Derecha