Hola. Este es mi primer articulo en este foro.
Me gustaría saber si existe alguna manera se hacer plataformas traspasables (que se puedan traspasar de abajo hacia arriba pero no a la inversa) en D&D. E buscado y leído varios artículos al respecto en este foro pero ninguno me a servido ya que todo es código GML especifico, e probado incluso copiando el proceso paso a paso para ver que es lo que hago mal pero no hay manera.
P.D.: casi parece que la gente le tenga alergia al D&D XD
Jajaja no es alergia, para mi gml es mas facil de escribir y entender ademas de ser mas simple y rapido de escribir una vez que te acostumbras, en D&D tenes una lista de iconos que abarca todo la pantalla mientras que en gml lo tenes en un par de lineas. Mi consejo es OLVIDATE DE D&D, al principio te va a costar pero despues te vas a preguntar porque estabas usando D&D :P
Mira el ejemplo que hice de plataforma D&D y gml
(http://i.minus.com/iLUkqeAYQJL14.png)
Respecto a tu p regunta tambien te dejo un ejemplo aunque en gml, lo mas sencillo que pude hacer 8)
Gracias, según lo e visto lo e probado y la verdad es que a sido el sistema mas simple que e visto hasta ahora y también el que mas cerca a estado de funcionar. Digo cerca porque aunque cumpla con su cometido produce problemas con los que ya me he enfrentado en otros sistemas de plataformas y que no e podido solucionar:
Al entrar el jugador en contacto con dos plataformas o mas a la vez estas pierden su "solidez" y dejan caer al jugador y además mientras esta el jugador en contacto con una plataforma sus animaciones dejan de reproducirse. Aparte de otros errores menores que e notado en la física como que se el jugador se quede enganchado en el techo o rebote de el a toda velocidad :P
De todas maneras me es muy útil ya que me a dado un par de ideas a probar.
Por otro lado tu ejemplo de comparativa entre D&D y GML me a dado grandes ideas, así que gracias otra vez mas.
Como se podría añadir una función para poder descender de la plataforma? Algo en plan "abajo + salto" para bajar :P
El problema de tocar 2 plataformas al mismo tiempo y que se cae ya lo tenia :-[ pero quise hacer algo simple y fue lo que salio mejor :P aunque planeando un poco el diseño del nivel del juego se puede "solucionar" al no colocar 2 plataformas juntas.
Sobre el techo que rebota no se a que te referis, lo estuve probando y no tuve problemas.
Respecto a las animaciones ya depende como las tengas configuradas.
Por ultimo para descender de la plataforma pone en la tecla de pulsar abajo if place_meeting(x,y+1,plat_trasp) {y+=1} y listo
Ha, otra cosa mas, pasate cuandto antes a gml 8)
Solucionado todo. Gracias a las ideas surgidas del ejemplo que me diste y combinando un poco de GML y D&D e conseguido crear un sistema incluso mejor que el que me proponias. De esta manera no hay error alguno ni con animaciones ni al haber varias plataformas cerca, y funciona perfectamente con el código de descenso que me comentaste. Me explico: crear el objeto plataforma sin ningún evento y con la casilla de solid desactivada, luego en el objeto jugador crear un evento step y ponerle este simple código:
with(plataforma){if y > jugador.y-1 {solid = true;} else {solid = false;}}
Y crear un evento de colisión con la plataforma con el siguiente código:
if other.solid = true {event_ perform(ev_collision, bloqueo)
Donde "bloqueo" es el objeto que detiene el movimiento de personaje (suelo, paredes,...)
Dejando eso tal cual las animaciones y demás cosas ya las e añadido en D&D y todo a quedado perfecto.
Para descender solo el código que me diste daba algún error cuando la plataforma estaba cerca del suelo o de otros elementos así que lo convine con un poco de D&D poniendo una acción de "Check Object" así:
Object: bloqueo
X:0
Y:1
√Relative √Not
De esta manera el código solo se ejecuta cuando es necesario.
Te recomiendo que pruebes este sistema es mas practico. No lo habría hecho sin tus ejemplos, gracias.
En cuanto pueda subo a este mismo post un ejemplo para que se peueda ver mejor de lo que yo lo explico XP