Hacer saltos diagonales o hacia arriba o abajo

Started by BlySntK, March 08, 2012, 07:55:39 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

haitortiya

Eso que has dicho de... "yo lo pongo algo más corto", si me pones un ejemplo de la linea que pones tu quizas pueda ver
si te falta algo importante, pero en si si usas el mismo codigo no le veo problema, a menos... Que lo que tu quieras es hacer
que el personaje pueda Andar hacia arriva y hacia abajo con un limite o algo, y a la vez, que pueda saltar, cambiado su Y mas
drasticamente y volviendo al punto de origen, seria eso? ( Tipo juegos como el teken 3 en su modo de aventura ).

Si es asi, se le podria buscar alguna solucion. Un saludo.
Mi pagina web, donde cuelgo todos mis Proyectos

Gracias por entrar y ver su contenido

http://haitortiyagames.com.ar/

El Ultimo Dominador!!!!
http://haitortiyagames.com.ar/elultimodominador/inicio.html

BlySntK

#16
Quote from: haitortiya on March 11, 2012, 11:26:10 AM
Eso que has dicho de... "yo lo pongo algo más corto", si me pones un ejemplo de la linea que pones tu quizas pueda ver
si te falta algo importante, pero en si si usas el mismo codigo no le veo problema, a menos... Que lo que tu quieras es hacer
que el personaje pueda Andar hacia arriva y hacia abajo con un limite o algo, y a la vez, que pueda saltar, cambiado su Y mas
drasticamente y volviendo al punto de origen, seria eso?
( Tipo juegos como el teken 3 en su modo de aventura ).

Si es asi, se le podria buscar alguna solucion. Un saludo.

Exactamente eso, sí. Me dijo KeoH que para hacer eso había que mirarse más las teorías geométricas del escenario y jugar ya no con las coordenadas x e y, sino tambien, jugar con la profundidad, con la coordenada z; hacer como una especie de variables xi, yi, zi... cosa que todavía no comprendo bien porque sería como ir metiendose en embrollos de 3D y eso, si es así, aún no quiero aventurarme, prefiero hacer un plataformas y ponerle un RPG distinto, hacer lo que quería era sólo un mero capricho, saberlo hacer vamos... pero no necesario ni fundamental.

De hecho, si lo que estuviera haciendo fuera una aventura grafica, sin necesidad de salto, sí sabría jugar perfectamente con la coordenada z de profundidad, ahí sí que sería extremadamente simple.
Esnucándote contra la pared no sé si conseguiré mucho, mejor lo pruebo y salímos de dudas ^_^
-------------------------------------------------------
Blaisantka Games > (Official developer web site)

haitortiya

#17
Pues te voi a dar la solucion que uso yo, que es muy sencilla, sin comerse el coco:

- Tu tienes tu frase de la gravedad, para aplcar la gravedad, y esta dentro del Loop
  - le pones un IF / If ( estado != saltar ) y aplicas.
  - Cuando presiones por ejemplo key (_up) cambias el estado = saltar y le restas la Y

Pero en tu caso lo quieres al rebes, simplemente cambias, aplicas la gravedad cuando desees, si el estado es igual a saltar, por ejemplo
if ( estado == saltar ) ... Y asi cuando saltes tendra gravedad, y cuando no, pues subira y bajara con los limites que tu le pongas

  Asi, cuando estes saltando no aplicara gravedad, sino el salto que tu le quieras dar, y cuando no este en ese estado, pues aplicara
la gravedad. Epsero haberte ayudado, un saludo.
Mi pagina web, donde cuelgo todos mis Proyectos

Gracias por entrar y ver su contenido

http://haitortiyagames.com.ar/

El Ultimo Dominador!!!!
http://haitortiyagames.com.ar/elultimodominador/inicio.html

BlySntK

Quote from: haitortiya on March 11, 2012, 04:33:02 PM
Pues te voi a dar la solucion que uso yo, que es muy sencilla, sin comerse el coco:

- Tu tienes tu frase de la gravedad, para aplcar la gravedad, y esta dentro del Loop
  - le pones un IF / If ( estado != saltar ) y aplicas.
  - Cuando presiones por ejemplo key (_up) cambias el estado = saltar y le restas la Y

Pero en tu caso lo quieres al rebes, simplemente cambias, aplicas la gravedad cuando desees, si el estado es igual a saltar, por ejemplo
if ( estado == saltar ) ... Y asi cuando saltes tendra gravedad, y cuando no, pues subira y bajara con los limites que tu le pongas

  Asi, cuando estes saltando no aplicara gravedad, sino el salto que tu le quieras dar, y cuando no este en ese estado, pues aplicara
la gravedad. Epsero haberte ayudado, un saludo.

La única duda que tengo es por el tima del pixelado, date cuenta que el personaje, a veces estará en pleno color que sus pies detectarán y así es complicado que alguna vez sobresalga del suelo, y en cuanto saltará, por ejemplo estando demasiado abajo, al ir restándole a la Y llegará siempre hasta la parte superior donde detecte que se acaba el color y empieza otro, ¿comprendes?
Esnucándote contra la pared no sé si conseguiré mucho, mejor lo pruebo y salímos de dudas ^_^
-------------------------------------------------------
Blaisantka Games > (Official developer web site)

haitortiya

Mmm no lo comprendo muy bien, mira te voi a ponr un ejemplo pequeño

Tu personaje:
process persojaje()

       loop

             if ( key (_space)) estado = saltar; end
             if ( key (_up)) estado = subir; end
             if ( key (_down)) estado = bajar; end

             if ( estado == saltar )         
            gravedad(&velocidad_gravedad,mapa_durezas,durezas_suelo,durezas_techo);
            y -= 10;
      else
           if ( estado == subir )
                 y -= 2; end
           if ( estado == bajar )
                 y += 2; end
      end
end

Entiendes ahora lo que te quieria decir?? pruebalo haber si te funiona, el codigo lo he echo rapido, asi que adaptalo bien :)

Un saludo
Mi pagina web, donde cuelgo todos mis Proyectos

Gracias por entrar y ver su contenido

http://haitortiyagames.com.ar/

El Ultimo Dominador!!!!
http://haitortiyagames.com.ar/elultimodominador/inicio.html

Rein (K´)ah Al-Ghul

la gravedad tendrias que tenerla siempre, si el personaje esta en una  borde y avanza al vacio caera...

Rein (K´)ah Al-Ghul
Infected with the Krieger strain of the Human-MetaHuman Vampiric Virus.

en vez de darme Karma positivo, denme (K´)arma negativ

haitortiya

En teoria no caeria, se me ha olvidado poner una cosa, que la he presupuesto

           if ( estado == subir and y > Loquequieras1)
                 y -= 2; end
           if ( estado == bajar and y < Loquequieras2)
                 y += 2; end


Por ese metodo, no deberia caerse por ningun lado, por que sin gravedad, no existe el vacio, se mueve por la pantalla sin mas
por lo cual aun asi no caeria, yo creo que asi esta bien, ademas ais lo uso yo.

(Les he añadido el and y +- Loquequieras ).  Un saludo
Mi pagina web, donde cuelgo todos mis Proyectos

Gracias por entrar y ver su contenido

http://haitortiyagames.com.ar/

El Ultimo Dominador!!!!
http://haitortiyagames.com.ar/elultimodominador/inicio.html

BlySntK

#22
Gracias chicos, realmente, tal y como lo has puesto haitor, casi sería mejor hacer un switch y ponerlo, mas orden (es una opinión). Pero vamos, ya digo que la gravedad la tengo puesta y me va bastante bien. Quizás si pusiera un gif de lo que quiero, sabríais exactamente cual es el capricho que me gustaría saber. El juego lo voy a seguir desarrollando como plataformas pero vamos, que por saber eso siempre es algo bueno. Si alguno le interesa, recomiendo que vea viejas glorias del videojuego como este título: Turtles IV: Turtles in time para SNES y sabrá a lo que me refiero. Intetaré poner unas capturas aunque así no sé si captaríais algo pero, algo sería.

edito: bien, qué mejor es que poneros un link para que sepáis que clase de estilo es mi capricho, no es, por supuesto, un plataformas, sino un mata-mata (yo contra todos) arcade, pero, qué mejor manera para saber exactamente lo que quiero aprender. http://www.youtube.com/watch?v=9GBAJIAuUHQ

Sobre el video: fijaros simplemente a partir del minuto 1:27, de ahí hasta lo que queráis.
Esnucándote contra la pared no sé si conseguiré mucho, mejor lo pruebo y salímos de dudas ^_^
-------------------------------------------------------
Blaisantka Games > (Official developer web site)

haitortiya

#23
Vamos, el tipico efecto de esos juegos. Mirandolo asi, si nadie te da una solucion mejor, te puedo dar la que se me ha ocurrido

- Tal y como en post anteriores te pongo, tu pones ese codigo, pero a la hora de saltar, lo unico que haces es activar la gravedad
durante un tiempo ( A la vez que cambias graficos etc... ) Y ara que te funcione, tienes que pintar todo el suelo que va a pisar y un
poco mas por arriva del color del suelo, asi cuando la gravedad le afecte subira de golpe, para colocarse arriva del suelo, que basicamente
es lo que hace el codigo de gravedad, subir hasta alcanzar el punto maximo del suelo.

No se me ocurre otra cosa, pero como parche para que funcione bien, funcionara. Un saludo

*Yo uso siempre Ifs, los switch no me gustan mucho :) , pero es una mania, tu usa lo que quieras :)

Edito: Pero ahora que he visto unpoco mas el video, yo creo que en este estilo de juegos no aplican gravedad, simplemente a la hora de asltar aplican mucho mas movimiento, pero hacia arriba, prueba las dos formas. Y ya nos contaras
Mi pagina web, donde cuelgo todos mis Proyectos

Gracias por entrar y ver su contenido

http://haitortiyagames.com.ar/

El Ultimo Dominador!!!!
http://haitortiyagames.com.ar/elultimodominador/inicio.html

BlySntK

Gracias haitor de nuevo por las molestias. Así, reflexionando sobre lo comentado y viendo como estoy desarrollando y gestionando los mivimientos y el juego en general, se me ocurrió hacerlo de forma simple y básica pero con algunas cosillas avanzadas que puedo ser capaz de hacer. Y sé que me va a salir. Solo lo preguntado de los saltos y el video mostrado? Supongo que, de algún modo, utilizarían el chip de la super nintendo que le daba la capacidad de generar gráficos vectoriales para simular las tres dimensiones, lo leí hace mucho tiempo y la SNES era una de esas consolas en integrarlo, el llamado "Cerebro de la bestia" que, supuestamente, a veces trabajaba con gráficos de 16 bits reales y a veces sólo con 8 y algún bit más. Juego como ese o Super Castlevania IV, o incluso el Doom, funcionaron en la SNES con sprites dignos de una consola de las actuales pudiendo mover "3D" simulándolo. El truco estará en saber manejar vectores, seguramente. Te doy karma++ por las molestias.
Esnucándote contra la pared no sé si conseguiré mucho, mejor lo pruebo y salímos de dudas ^_^
-------------------------------------------------------
Blaisantka Games > (Official developer web site)

Rein (K´)ah Al-Ghul

la sombra es la posicion real y cuando saltas te solapas con el resto (la Z en mejor)

Rein (K´)ah Al-Ghul
Infected with the Krieger strain of the Human-MetaHuman Vampiric Virus.

en vez de darme Karma positivo, denme (K´)arma negativ

haitortiya

No es ninguna molestia, aqui nos ayudamos todos.

Por ultimo voi a hacerte un ultimo comentario, y asi ya si quieres cerramos el tema, ya que ya sabes como hacerlo.
Hay un pequeño truco con todo esto de movimiento y posiciones, y yo en mis juegos lo hago muchas veces, simulando que tu
campeon tubiese alguna sombra, en el mismo grafico, pasandolo por "Automatizar" de Photoshop o algun programa parecido
coges todos los graficos de salto, y les separas la sombra unos 120px (Lo alto que quieas que sea el salto), asi, si el personaje
tiene que saltar, lo hara, y tu solo tendras que procesar los graficos, por que en el grafico ya salta.

Resumen: tu cambias el grafico y lo separas de la sombra la distancia que desees, en el codigo solo emites los graficos.

Gracias por el Karma, y espero haberte ayudado. Un saludo
Mi pagina web, donde cuelgo todos mis Proyectos

Gracias por entrar y ver su contenido

http://haitortiyagames.com.ar/

El Ultimo Dominador!!!!
http://haitortiyagames.com.ar/elultimodominador/inicio.html

BlySntK

Mira, lo de la sombra no había caido, sé que en codificación, la sombra se hace con un proceso padre y otro hijo, no me acuerdo como era lo que había que poner en el proceso hijo, creo que había que jugar con el alpha, si mal no recuerdo, alpha y color negro... pero vamos... siempre puedo mirar algún codígo de los expuestos en los juegos.
Esnucándote contra la pared no sé si conseguiré mucho, mejor lo pruebo y salímos de dudas ^_^
-------------------------------------------------------
Blaisantka Games > (Official developer web site)