Julio 26, 2011, 08:27:51 AM Ultima modificación: Julio 27, 2011, 07:24:30 PM por MaanuRP
Hola a todos!

Otra vez yo con mis dudas xD

Es una muy estupida esta vez, pero que la tengo desde que empece GM.

Empece viendo tutoriales por Youtube, y hasta el dia de hoy veo video-tutoriales por cualquier duda, y SIEMPRE que veo un juego de plataformas, veo que en la colision con la pared le ponen:

move_contact_solid(direction,12)

Y NUNCA entendi porque es ese 12.

Busque la definicion en el manual, y dice que es la distancia maxima que mueve la instancia, pero la verdad que sigo sin entender, y menos de porque es 12.

Alguien que tenga paciencia me podria explicar? xD

Muchisimas gracias y perdon por preguntar tantas cosas y muchas de ellas muy boludas!

Saludos!

Pues veras el objeto se mueve hacia la direccion 'direction' hasta 12 pixeles, si encuentra un objeto solido antes se para si no sigue hasta esos 12 pixeles, si pones 300 buscara colision y se movera hacia la direccion hasta 300 pixeles, si encuentra una colision antes se para ahi y si llega a los 300 se para tambien. Ojo se mueve de golpe es como un salto.

Esto se usa en los palaformas porque no sueles colocar bien el objeto en la room y de ese modo te asegures de que el jugador empiece pegado al suelo y no en el aire.

espero que lo comprendas asi ^^

Si si, eso entendi, pero porque es 12?

Porque es como que todos los que vi lo hacen con 12, que cambia si le pongo 1.2, que cambia si le pongo 1200?

Esa era mi duda :)

Muchas gracias por la explicacion :D

Cita de: MaanuRP en Julio 26, 2011, 11:33:53 PM
Si si, eso entendi, pero porque es 12?

Porque es como que todos los que vi lo hacen con 12, que cambia si le pongo 1.2, que cambia si le pongo 1200?

Esa era mi duda :)

Muchas gracias por la explicacion :D

Hola, como dice el manual es la distancia maxima que se movera en busca deuna colision solida, saludos.
Saludos Cordiales!!!

No puedo estar tan tonto de no entender esto xD
Encima primera vez que no entiendo algo asi, ya me da verguenza jajaj

Si esto esta en la colision entre el jugador y la pared, para que hace falta buscar una colision solida? Si es obvio que ya colisiono.
Osea, cuando colisiona con la pared busca una nueva colision solida 12 pixeles con la misma direccion que tiene el jugador? Para que?
Y si encuentra una colision cual podria encontrar? Y que pasaria si encuentra la colision?

No puede ser que no entienda un codigo, la verdad que me da verguenza xD

Cuando el GM detecta que un par de objetos van a entrar en colisi?n detiene el movimiento del objeto con el evento colisi?n y ejecuta el evento correspondiente , esto lo hace para evitar que siga causando la colisi?n en los steps posteriores sin motivo alguno.

El resultado es un espacio entre los objetos que forman parte de la colisi?n. Ah? es donde entra move_contact_solid, se encarga de eliminar ese espacio entre los objetos moviendo al causante de la colisi?n la m?xima distancia posible.

No existe un motivo para usar 12, el n?mero debe simplemente ser mayor que la velocidad a la que se mueve el objeto, si todos los tutoriales que has visto usan ese numero podr?a ser simplemente una coincidencia, o todos han aprendido de la misma fuente, o algo por el estilo.

Ahora si! Pero me quedo una ultima duda, si mueve al causante de la colision (Casi siempre seria el jugador, no?) a la distancia maxima (En este caso 12) pero en la direccion direction, el jugador al caer en una plataforma no tendria que ser movido 12 pixeles hacia abajo?

Ya que supongamos que viene cayendo perpendicularmente al suelo, osea con una direction de 270, y move_contact_solid(direction,12) mueve al Jugador 12 pixeles en la direccion 270, osea para abajo, no se queda "incrustado" en la plataforma?

Para esta ultima duda te recomiendo que abras el GM y te pongas a experimentar con move_contact_solid, un objeto m?vil y algunos s?lidos. O que abras el manual y leas la parte correspondiente a move_contact_solid.

Deber?a ser suficiente para que aprendas como funciona dicha funci?n, y es, a mi parecer, la mejor manera de aprender con el GM.

Ah, que tonto, yo lo busque en el glosario de GML, ahora lo busco en el manual, muchas gracias a todos por la panciencia :)

Doy el tema por solucionado y me pongo a probar :D

Gracias!

Cita de: MaanuRP en Julio 27, 2011, 07:24:08 PM
Ah, que tonto, yo lo busque en el glosario de GML, ahora lo busco en el manual, muchas gracias a todos por la panciencia :)

Doy el tema por solucionado y me pongo a probar :D

Gracias!

De hecho, yo siempre que trabajo en GM tengo el manual abierto para cualquier consulta. Saludos.
Saludos Cordiales!!!