Autor Tema: ¿Qué es move_contact_solid?  (Leído 106 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Luis En

¿Qué es move_contact_solid?
« en: Septiembre 07, 2018, 09:55:02 pm »
Buenas querida comunidad!!

Sorry que pregunte esto, habiendo una guía en YoyoGames.com, pero no entiendo muy bien como lo explican.
Alguien que me pueda explicar de manera más clara y concisa lo que significa, y sus parámetros, a qué se refieren?

move_contact_solid(dir,maxdist)

//dir <---- ??
//maxdist <----Máxima distancia de qué con qué???

Se agradecería mucho la ayuda.

Saludos!



« última modificación: Septiembre 07, 2018, 09:57:58 pm por Luis En »


 
No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado 3dgeminis

Re:¿Qué es move_contact_solid?
« Respuesta #1 en: Septiembre 08, 2018, 07:34:08 pm »
Lo que hace es mover al objeto en la direccion(dir) y velocidad(maxdist) que le des hasta que entre en contacto con un objeto solido.

Puedes emular esa funcion para un objeto en especifico usando:
while !place_meeting(x+1,y,pared) {x+=1}
Asi no estas limitado a solo solidos o todos los objetos.
 
Los siguientes usuarios dieron las gracias a este tema: Yuzo, Luis En


Desconectado Luis En

Re:¿Qué es move_contact_solid?
« Respuesta #2 en: Septiembre 08, 2018, 08:23:28 pm »
Lo que hace es mover al objeto en la direccion(dir) y velocidad(maxdist) que le des hasta que entre en contacto con un objeto solido.

Puedes emular esa funcion para un objeto en especifico usando:
while !place_meeting(x+1,y,pared) {x+=1}
Asi no estas limitado a solo solidos o todos los objetos.
Y la dirección como la establezco? osea si pongo direction que significa? y si pongo 14 estaría yendo a la derecha?
Y la maxdist, si pongo 12 irá a más velocidad que cuando ponga 6?

while !place_meeting(x+1,y,pared) {x+=1}

Aquí significa que:
Mientras no colisione con la pared, no se detendrá no?, y como sería éste ejemplo pero con move_contact_solid (ya se que aquí es para todos los solidos, pero quiero saber como se colocarían los parámetros)

Gracias por responder!!!

Desconectado 3dgeminis

Re:¿Qué es move_contact_solid?
« Respuesta #3 en: Septiembre 08, 2018, 11:10:06 pm »
Al usar el while si lo pruebas veras que es instantaneo, aparece pegado al otro objeto.
Si usas direction y como por defecto esta en 0 se movera a la derecha, a menos que la cambies. Un circulo tiene 360 grados asi que si le pones 90 ira arriba, 180 izquierda 270 abajo 3600 a la derecha y asi.
En el ejemplo con move_contact seria move_contact(0,-1)
 
Los siguientes usuarios dieron las gracias a este tema: Yuzo

Desconectado Luis En

Re:¿Qué es move_contact_solid?
« Respuesta #4 en: Septiembre 09, 2018, 06:03:56 am »
Al usar el while si lo pruebas veras que es instantaneo, aparece pegado al otro objeto.
Si usas direction y como por defecto esta en 0 se movera a la derecha, a menos que la cambies. Un circulo tiene 360 grados asi que si le pones 90 ira arriba, 180 izquierda 270 abajo 3600 a la derecha y asi.
En el ejemplo con move_contact seria move_contact(0,-1)

Entiendo, y porque -1 en maxdist? en máxima distancia se pone un número como velocidad?

Desconectado Clamud

Re:¿Qué es move_contact_solid?
« Respuesta #5 en: Septiembre 10, 2018, 12:55:36 am »
Si escribes -1 o 0, maxdist se establece en 1000. Es mejor escribir un número pequeño que sea igual a la máxima velocidad del objeto. Si se usa un número muy grande la función realizará demasiadas iteraciones y ralentizará el juego. De cualquier forma, no es recomendable utilizar las funciones move_contact_* ni move_outside_*.
 
Los siguientes usuarios dieron las gracias a este tema: Yuzo, Luis En

Desconectado Luis En

Re:¿Qué es move_contact_solid?
« Respuesta #6 en: Septiembre 10, 2018, 02:14:32 am »
Si escribes -1 o 0, maxdist se establece en 1000. Es mejor escribir un número pequeño que sea igual a la máxima velocidad del objeto. Si se usa un número muy grande la función realizará demasiadas iteraciones y ralentizará el juego. De cualquier forma, no es recomendable utilizar las funciones move_contact_* ni move_outside_*.

Entiendo, entonces es mejor no usar el move_contact, y para reemplazarlo utilizariamos el place_meeting entonces?

Desconectado javixblack

Re:¿Qué es move_contact_solid?
« Respuesta #7 en: Septiembre 14, 2018, 03:32:40 am »
Si escribes -1 o 0, maxdist se establece en 1000. Es mejor escribir un número pequeño que sea igual a la máxima velocidad del objeto. Si se usa un número muy grande la función realizará demasiadas iteraciones y ralentizará el juego. De cualquier forma, no es recomendable utilizar las funciones move_contact_* ni move_outside_*.

Che, yo también tengo dudas con esto. Porque en el manual de gamemaker dice que maxdist sólo puede tener dos valores: 0 ó -1. Pero he visto cientos de veces ejemplos que llevaban esa función, en la cuál tenían, por ejemplo, el número 12 o el 6. No entiendo por qué. Incluso he probado en variar ese valor pero no noté cambio alguno.
 
Los siguientes usuarios dieron las gracias a este tema: Yuzo

Desconectado 3dgeminis

Re:¿Qué es move_contact_solid?
« Respuesta #8 en: Septiembre 14, 2018, 05:18:17 am »
-Depende de lo que vayas a hacer, segun la situacion lo puedes usar o no. Yo lo usaba cuando empeze a usar el programa y usaba objetos SOLIDOS.

-Lo que dice el manual segun entiendo es que si pones 0 o -1 game maker pone el valor de 1000 pixels por defecto. Por ejemplo 0 es el valor por defecto de direction a menos que cambies su valor.
 
Los siguientes usuarios dieron las gracias a este tema: Yuzo