Hola gente.

Despues de un tiempo sin tocar GM para nada, ayer compre la nueva version, la 8. Me puse a trastearla para ir recordando un poco el funcionamiento y tal, para ello me dije:" Voy a crear un engine supersencillo de un juego estilo maze con movimiento de objetos mediante empuje" Algo simple, pense, para ir recordando las funciones y demas.

Tras un rato de ensayo error y de ir recordando el funcionamiento ya tenia el mini engine preparado. Se trataba de 3 objetos y 3 sprites un objeto que seria la representacion del jugador (el skeleto) una piedra movil y un bloque fijo.

Mediante D&D hice el codigo para que la piedra movil se moviera dependiendo del sentido desde el que el jugador la empujase y que a su vez, se parase cuando chocase con el bloque de piedra fijo.

Todo contento, una vez estabilizado mi "superengine"  :-[ comence a crear una primera room con un peque?o rompecabezas clasico de mover las piedras hasta que consigues desbloquear la salida del laberinto... cuando de repente observe con horror como algunas de las piedras moviles no acababan de encajar correctamente donde debieran, para que lo entendais os pongo unas imagenes.



1.- En esta imagen se observa el skeleto con 3 piedras moviles y 3 bloques fijos, es el punto de partida que he creado en el archivo que os podeis descargar para ver el codigo.



2.- Si nos acercamos a la piedra movil central y la empujamos para que se desplace hacia la derecha veremos como lo hace y se para perfectamente pegada al bloque fijo que le corresponde (si es que... soy un crack  :-[ )



3.- Si repetimos lo mismo con la piedra de arriba, veremos como de nuevo la piedra se desplaza hasta chocar con el bloque fijo PERO en este caso, si os fijais bien, se queda separada del bloque un espacio considerable. De manera que, como observaremos en la siguiente imagen (4) cuando decimos de empujar esa misma piedra hacia abajo, chocara con el bloque fijo del medio, impidiendo que pueda seguir avanzando hacia abajo como debiera.



4.- Como podeis comprobar, la piedra choca y no completa su trayecto, debido a que en el paso anterior no llego a hacer completo el camino hasta el bloque de arriba.



5.- En este ultimo caso, al empujar a la piedra central hacia abajo, si que puede atravesar el hueco entre piedra y piedra hasta abajo. Lo que los anglosajones llaman "work as intended"  :P



?Que he hecho mal? No entiendo por que una piedra si que hace su recorrido completo y la otra no. Podreis comprobar que la piedra de abajo tampoco acaba el recorrido completo si la empujas hacia la derecha. Os adjunto el archivo original para que le podais, si os apetece, dar un vistazo y comprobarlo por vosotros mismos. Gracias.

Nota: Disculpad la falta total de signos de acentuacion, pero no se que le pasa a este equipo que no me pone las tildes correctamente, me las pone por duplicado y aparte, ej: acentuaci??on.  >:(

esto te va a ayudar para que me entiendas: http://www.game-maker.nl/forums/topic,32890.0

la verdad para arreglart tu problema tendria que ver como esta hecho ya que hay muchisimas formas
de hacerlo.
pero mira pone esto luego de colisionar con el objeto solido:

if place_snapped(16,16)  {move_snap(16,16)}

fijate si te sirbe.. sin no.. bueno me vas a tener que pasar un par de datos mas sobre el juego en si y no
sobre el problema que ven en pantalla.. desde ya suerte con tu GM8!!

#2 Enero 06, 2010, 12:17:12 PM Ultima modificación: Enero 06, 2010, 12:58:11 PM por Ksn Xperience
Cita de: romon_28 en Enero 06, 2010, 02:27:49 AM
esto te va a ayudar para que me entiendas: http://www.game-maker.nl/forums/topic,32890.0

la verdad para arreglart tu problema tendria que ver como esta hecho ya que hay muchisimas formas
de hacerlo.
pero mira pone esto luego de colisionar con el objeto solido:

if place_snapped(16,16)  {move_snap(16,16)}

fijate si te sirbe.. sin no.. bueno me vas a tener que pasar un par de datos mas sobre el juego en si y no
sobre el problema que ven en pantalla.. desde ya suerte con tu GM8!!

Muchas gracias, probare el codigo.

Puedes ver como esta hecho, he a?adido un archivo adjunto con el archivo original para que se pudiera ver el problema de primera mano.

Editado: Nada, no sirve, el problema sigue existiendo. ?Puede ser un bug de GM8? es muy raro que siendo el mismo objeto (la piedra movil) se comporte de dos maneras distintas al colisionar con el mismo objeto (el bloque fijo)

adj
Cita de: CGM 2008CGM: Un poco mas serios, mejores Juegos.
Bienvenid@ a CGM. Recomenzamos desde cero, con un reglamento mas estricto, mejor definido y con mas ganas que nunca de hacer juegos con calidad comercial. El que avisa no es traidor: Leete las reglas si no quieres llevarte un capon makero.
Mercilessly!!
Plug-In para animaciones: http://ciberman.net/tweenline/