Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Mostrar Mensajes

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


Mensajes - getnoff

Páginas: 1 2 3 4
1
Preguntas y respuestas / Re:nesecito ayuda con codigos
« en: Ayer a las 05:54:21 am »
Para GM Studio 1 nunca llegó a haber un manual completo en español.
Sólo hay uno para game maker 6, pero creo que no hay un enlace que lleve a él.
Los siguientes usuarios dieron las gracias a este tema: MantoxC

2
Preguntas y respuestas / Re:Bloques que reaparecen al azar por la room
« en: Diciembre 03, 2020, 01:27:05 am »
Saludos, prueba con este:
if(!instance_exists(obj_bloque))
{
    var i, posx, posy, bloqueactual;
    i = 10;
    repeat(i)
    {
        posx = random_range(32,416);
        posy = random_range(32,160);
       
        bloqueactual = instance_create(posx,posy,obj_bloque);
       
        with(bloqueactual)
        {
            while (place_meeting(x,y,obj_bloque))
            {
                other.posx = random_range(32,416);
                other.posy = random_range(32,160);
               
                x = other.posx;
                y = other.posy;
            }
        }
       
        with (obj_bloque)
        {
            if !place_snapped(32,8)
            {
                move_snap(32,8);
            }
        }
    }
}
Consiste en que luego de crear una instancia del bloque, se haga un ciclo while que compruebe si esta de ahora (bloqueactual) está en contacto con alguna otra instancia del bloque. De ser así, se vuelven a generar valores al azar de posición en ese rango y se le asignan a la actual, y así repetirá hasta que no tengan contacto, forzando a que queden en distintos lugares.
Los siguientes usuarios dieron las gracias a este tema: Zhekken

3
Entonces lo que buscas es un efecto empuje para que el auto arrastre consigo todo lo que toca.

Intenta esto, en el Step de tu objeto pared (supongo que es un cuadrado) ponle este código:
if place_meeting(x,y,obj_car)
{
    x += obj_car.hspeed+sign(obj_car.hspeed);
    y += obj_car.vspeed+sign(obj_car.vspeed);
}
Hará que cuando la pared y el auto tengan contacto, la pared se le sumarán las coordenadas de la cantidad de speed del auto, y un poquito más para evitar que se peguen.
Los siguientes usuarios dieron las gracias a este tema: Anglok12

4
Preguntas y respuestas / Re:Necesito ayuda con cambio de sprites
« en: Noviembre 23, 2020, 08:42:02 am »
Sí, lo que intentas hacer se complica porque requieres de diferentes comportamientos para el personaje al estar parado, o caminando.

Por lo que se necesita una forma de detectar los distintos estados. Una forma sencilla es que le crees variables al jugador, en este caso te recomiendo dos: "mira" y "camina"

"mira" para detectar el lado al que está mirando el jugador
"camina" para detectar si está caminando o no

en el Create
mira = 1; // 1- Derecha   0- Izquierda
camina = false; // false- está quieto  true- está caminando

en el Step
//se asignan los sprites si camina o no, y donde mira------------
if camina == false
{
    if mira == 1
    {
        sprite_index = spr_der;
    }
    else
    {
        sprite_index = spr_iz;
    }
}
else
{
    if mira == 1
    {
        sprite_index = spr_c_der;
    }
    else
    {
        sprite_index = spr_c_iz;
    }
}

Como ves, se detecta que no está caminando para luego asignar el sprite de quieto según a donde está mirando. Y lo mismo para el caso de cuando sí camina.

Y ahora este código
//Movimiento del personaje--------------------
if (keyboard_check(ord("D")))
{
    camina = true;
    mira = 1;
    x += 5;
    image_speed = 0.5;
}

if (keyboard_check(ord("A")))
{
    camina = true;
    mira = 0;
    x -= 5;
    image_speed = 0.5;
}

if (keyboard_check_released(ord("D")))
{
    camina = false;
}
if (keyboard_check_released(ord("A")))
{
    camina = false;
}

Primero cuando se presionan las teclas, mira se vuelve derecha o izquierda según corresponda, y camina se vuelve true para saber que ya cambió de estado.
Y por último al soltar las teclas, camina vuelve a false para volver al estado quieto.

Y luego puedes hacer lo mismo para el movimiento vertical pero usando la "Y"... y sin agregar la variable "mira" porque no es válida para el movimiento vertical, eso te lo dejo a ti.

Y a tu pregunta sobre mezclar el drag drop con código, más que feo es que no es buena idea. El drag & drop es muy limitado y poco flexible, pero lo más importante es que si no sabes muy bien el código que estos bloques usan, podrías estar cambiando variables u otras cosas sin que te enteres, y más avanzado te podrías encontrar con errores inexplicables. Siempre intenta poco a poco ir desprendiéndote de eso, con el código todo se puede hacer.
Los siguientes usuarios dieron las gracias a este tema: Zhekken

5
Preguntas y respuestas / Re:Problema con pulsación de teclas
« en: Octubre 05, 2020, 04:27:45 pm »
Recuerdo que me pasaba eso tiempo atrás, y estoy casi seguro que es porque el teclado no soporta presionar muchas teclas a la vez.

Si es así no sería un tema de game maker, investiga acerca de eso (yo no sé cómo se puede solucionar).
Los siguientes usuarios dieron las gracias a este tema: fedex2020

6
Preguntas y respuestas / Re:sistema de puntaje
« en: Junio 19, 2020, 09:04:17 pm »
Claro, para eso existen las variables en programación, para guardar un valor determinado y que podamos cambiarlo como queramos.

Puedes crear una variable declarándola de nombre puntaje  y que empiece con valor cero.

[Evento Create]
puntaje = 0;

luego en (me imagino tu evento de colisión de la bala contra los enemigos) pon que cada vez que destruya un enemigo sume 500 a la variable puntaje.

puntaje += 500;

Los siguientes usuarios dieron las gracias a este tema: 8 bits

7
Preguntas y respuestas / Re:tras un impacto de color
« en: Mayo 15, 2020, 04:58:59 pm »
Con image_blend sólo se puede cambiar al color puro especificado si el sprite es de color blanco.

En caso contrario y de no querer duplicar el sprite a otros colores, la única manera es usando shaders, cosa que es un tema muy complejo.
Los siguientes usuarios dieron las gracias a este tema: Ikaro3d

8
Preguntas y respuestas / Re:Como hacer un dialogo entre dos personas
« en: Mayo 13, 2020, 05:50:45 pm »
Ah bueno, en ese caso conozco un método sencillo que es a cada instancia en particular de los personajes le establezcas unas variables que tomarán la posición de tu array con los diálogos guardados.

Aquí hay un video de un usuario usando este método


Los siguientes usuarios dieron las gracias a este tema: OmarMakero

9
Hola.

Hay varias razones que pueden causar el problema, pero la más probable es que estás comprobando el valor de "enemigos" con un if u otra antes de que siquiera has declarado la variable.
SI fuera ese el caso, lo mejor es que el objeto control exista desde el comienzo del juego teniendo declarada la variable para evitar el error.

Otra posibilidad es que estés destruyendo el objeto control sin que te des cuenta. Si cuando cambias de nivel se trata de un cambio de room, es probable que tengas que hacer tu objeto control como persistente.
Y otra es que estés trabajando con variables tipo locales (no creo).

Puede depender mucho de tu código, tal vez sea mejor que lo pongas.

Los siguientes usuarios dieron las gracias a este tema: thejapp

10
Estos videotutoriales podrían ayudarte

Spoiler


Los siguientes usuarios dieron las gracias a este tema: OmarMakero

11
Preguntas y respuestas / Re:Quiero volver a pedir su ayuda.
« en: Noviembre 08, 2019, 03:48:25 pm »
Vamos compañero, no cuesta nada comprobar un script por tu cuenta e intentar entender cómo trabaja.

Piensa en lo siguiente: en el mundo de la programación existen miles y miles de trucos, efectos y formas de hacer las cosas, por lo que es imposible poder siempre encontrar ejemplos precisos para lo que uno busca hacer (y que además sea compatible con tu juego). Entonces la mejor forma de aprender es investigando conceptos, en este caso por ejemplo de ¿qué son las surfaces y cómo trabajan? o ¿cómo se utilizan los scripts?

Y una vez que entras en el mundo, aprenderás y si tienes dudas de algo en específico, puedes preguntarlas.

Y por último, no pusiste qué versión de game maker usas, como mencionas gmk parece que usas gm8 así que el script que te dieron quizás ni siquiera sea compatible, como ves es de gran importancia ser específico para poder ayudarte mejor.
Los siguientes usuarios dieron las gracias a este tema: Johann

12
Preguntas y respuestas / Re:Necesito ayuda con juego de Mesa
« en: Septiembre 30, 2019, 03:56:09 pm »
De acuerdo, te envié un mensaje privado con el editable.
Los siguientes usuarios dieron las gracias a este tema: Zhekken

13
Preguntas y respuestas / Re:Ayuda con armaduras o resistencias
« en: Agosto 12, 2019, 09:26:08 am »
Hola.
La primera cuestión es sencilla, pasa porque pones las asignaciones en mal orden, deben ir así:
ataque = resistencia;
vida -= ataque;
if vida <= 0 instance_destroy();
Pensemos con lógica:  si el ataque no se asigna antes pues sigue siendo 50, por ende la vida resta 50 y sólo después el ataque se establece a 25 cuando ya se ha restado, por eso hay que establecer primero que el ataque es la mitad (25) para que luego la vida se reste 25 correctamente.

Y ahora lo segundo, tengo una duda que no creo que estés usando instance_destroy(obj_bala) porque el instance destroy no contiene argumentos, asumo que tienes puesto un with(obj_bala) instance_destroy();
Bien el problema es que cuando escribes "obj_bala" está abarcando a todas las instancias de la bala, así que para sólo referirte a la que colisiona al enemigo puedes hacer lo siguiente, en el obj_bala en el evento colisión con el enemigo, sólo pon:
instance_destroy();
Como estamos en el obj_bala, game maker sabe por la colisión a cual instancia nos estamos refiriendo.
Los siguientes usuarios dieron las gracias a este tema: Zhekken

14
Preguntas y respuestas / Re:Problemas de animación
« en: Agosto 08, 2019, 08:11:14 am »
En lugar de hacer una sola animación con todas las sub-images juntas, mejor crea un sprite solo con esa primera imagen y crea otra animación aparte con los sprites que quieras repetir el ciclo, así es mucho más fácil.

Y luego estableces esa primera imagen (animacion1) al jugador y después con una alarma le dices cuando pase a la otra animación (animacion2).
sprite_index = animacion1;
alarm[0] = 5;
Evento alarm[0]
sprite_index = animacion2;
Hay otras formas más óptimas como crear máquinas de estados y/o usar timelines pero es más avanzado.
Los siguientes usuarios dieron las gracias a este tema: FernandoNavarro

15
Juegos en desarrollo / Re:The Game Naless (3D) (GMK) (EXE)
« en: Junio 29, 2019, 06:35:35 am »
Se ve muy bueno, estoy seguro que me será muy útil para aprender más de GM 3D te lo agradezco mucho =)
Los siguientes usuarios dieron las gracias a este tema: Kkunna

Páginas: 1 2 3 4