Enero 05, 2014, 05:02:47 AM Ultima modificación: Enero 06, 2014, 01:51:42 AM por Black_Cat
Dejo un gráfico explicativo (perdón por mi mal dibujo, espero que se entienda) :-[

Quisiera saber cómo podría hacer para que mi personaje sea empujado por el movimiento de mi engranaje, el cual gira en dirección antihorario (u horario). En el gráfico gira antihoriario, vease la flecha roja grande.
¿Es posible hacer que mientras se va moviendo el engranaje, este vaya empujando a mi personaje, estando allí parado solamente?

Espero puedan ayudarme :)



Seria comparable a plataformas moviles, asi que te aconsejo que busques ejemplos de ellas y por youtube tambien hay algunos tutoriales que te pueden ayudar. Me acuerdo tambien haver visto de plataformas que se mueven en forma circular, asi que podrias empezar por ahi.

#2 Enero 05, 2014, 04:55:52 PM Ultima modificación: Enero 06, 2014, 01:51:18 AM por Black_Cat
Sé hacer plataformas móviles, pero la verdad no sabría como hacer para aplicar eso para formas irregulares como un engranaje.  :-[ Y cómo es que podría hacer para que empuje a mi personaje...


Edit: Eh logrado solucionarlo usando collision_line, gracias por el apoyo! :D



Por favor poner el ejemplo para todos de la comunidad y asi no los quedamos con las dudas.
GRACIAS

A mi también me interesa el tema, si al menos dejas una idea algo más aproximada me harías un gran favor en el futuro, gracias de antemano. :)

Bueno, básicamente lo que hice fue usar funciones trigonométricas para recrear el recuadro correspondiente a un diente de engranaje. Así calculé 4 puntos de los cuales uní con lineas para verificar de qué lado golpea al player. Cada collision_line corresponde a una cara exterior.

Luego simplemente hice que al chocar se calculara el centro de dicho diente de engranaje y lo moví en la dirección contraria.

El ejemplo adjunto está incompleto, solo funciona para el que esta coloreado en verde. Solo faltaría agregar las verificaciones para los otros 2 lados exteriores y mejorar un poco la colision, puesto que el objeto con el que colisiona sale disparado en vez de ser movido de acuerdo a la velocidad del engranaje. Pero eso supongo que se puede solucionar.

Suerte! :)