Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

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 - correojon

Páginas: 1
1
A veces necesitas chequear si tu personaje está colisionando con una instancia de un objeto, pero si hay varias a la vez las funciones de colisión de GM devolverán una al azar, lo que puede no valernos para lo que queramos hacer. Por ejemplo: si nuestro personaje está encima de una plataforma que se mueve en horizontal y nos chocamos con otra que se mueve en vertical, al chequear las colisiones en código las funciones de GM (instance_place(), collision_point()...)nos devolverán una de las dos plataformas, pero no podremos acceder a la otra.

Con este código, podremos chequearlo sin problemas:
var vPlatform, vTempPlatform;

vPlatform = noone;
vTempPlatform = noone;

var iSS, vI, vExtraCheck;
for (iSS=0; iSS<instance_number(objSemisolidPlatform); iSS+=1){
    vI = instance_find(objSemisolidPlatform, iSS);
    vExtraCheck = false;
    if (vPlatform = noone) vExtraCheck = true;
    if (vExtraCheck){
        vTempPlatform = instance_place(x, y, vI);
        if (vTempPlatform != noone) vPlatform = vTempPlatform;
    }
}
Utilizando la función instance_find() y un bucle for podemos chequear todas las instancias del objeto indicado una a una. Podemos indicar el object_index de un objeto parent y todos sus hijos se chequearán también (muy útil para chequear colisiones con distintos tipos de plataformas, enemigos...).

En el ejemplo he utilizado instance_place(), pero puede utilizarse cualquier otra función de chequeo de colisiones.

Además, si tenemos instancias desactivadas (por ejemplo, plataformas fuera de la vista) la función instance_find() las descarta automáticamente, por lo que el código es bastante eficiente.

Espero que a alguien le sirva de ayuda ;)
Los siguientes usuarios dieron las gracias a este tema: Zapdos43

2
Juegos en desarrollo / Re: Reglamento y plantilla
« en: Noviembre 20, 2007, 10:14:48 am »
Cita de: Ejemplo de presentación

Chuflinautas

Plataformas

GM: Studio

Los chuflinautas son una raza que viaja por el espacio colonizando nuevos mundos. En una misión, algo sale mal y la nave de los protagonistas sufre un accidente, por lo que tienen que efectuar un aterrizaje de emergencia en un planeta desconocido. Los chuflinautas tendrán que explorar el planeta mientras buscan la forma de reparar la nave y continuar con su viaje.


http://www.chuflinautas.com/demo2.zip


El juego quedó perfecto!.

Los siguientes usuarios dieron las gracias a este tema: Kkunna

Páginas: 1