Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: movimiento coche  (Leído 1881 veces)

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

Desconectado Xuturk

  • Asiduo
  • *
  • Puntos: 2
  • Mensajes: 159
  • Sexo: Masculino
    • Ver Perfil
en: Noviembre 12, 2009, 09:09:59 pm
Hola a todos de nuevo.

Tengo un problema con mi juego visto desde arriba al estilo gta 2 y el problema es el siguiente, la instancia coche (objeto) quiero que al pulsar la tecla arriba valla cojiendo velocidad, osea no siempre valla a la misma si no que aumenta hasta alcanzar un tope en el que se queda finalmente.

Despues los giros, lo que quiero es que la direccion del coche sea segun donde este mirando ,y que si dejas pulsada por ejemplo la tecla derecha, el coche aunque este andando empieza a rotar el sprite y la direccion del objeto hacia ese lado, y a pesar de pulsar arriba, si mira a la derecha valla a la derecha, luego el freno que frene, y si esta parado que de marcha atras.

Se que es bastante lo que pido, pero me gustaria conseguirlo si no es igual lo mas parecido, ya que he buscado mas y mas ejemplos, pero no consigo encontrar nada.

Muchas gracias y un saludo!

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado pucara

  • Okupa
  • *
  • Puntos: 145
  • Mensajes: 529
  • Sexo: Masculino
  • Gran devorador de píxeles.Cuanto más grandes mejor
    • Ver Perfil
    • Mis juegos
Respuesta #1 en: Noviembre 12, 2009, 09:33:41 pm
Hola amigo, para que el auto agarre velocidad basta conque declares una variable local y le incrementes el valor al pulsar la tecla de acelerar.

Código: [Seleccionar]
i=0;
if(tecla_acelerador_pulsada){i+=1}
velocidad_auto+=i;

Estoy casi seguro que, al estar creando tu juego estás pensando en el gta2, tus ganas de crear algo parecido seguro que te hace olvidar las limitaciones que aún tenés como programador.
Esto acaba casi siempre en juegos inacabados, frustración y olvido. Es lo peor que te puede pasar, por tanto, te aconsejo que idees un juego sencillo, lo acabes y después de aprender cosas nuevas, te metas con tu gta.

En cualquier caso, no te desanimes. Saludos.


Desconectado kaliman777

Respuesta #2 en: Noviembre 12, 2009, 10:43:47 pm
Para que la velocidad incremente, no olvides marcar la casilla RELATIVE o si usas còdigos tambièn.

Suerte.

La verdad es como la luz de una vela, que ni la oscuridad inmensa, puede opacarla.
 


Desconectado Xuturk

  • Asiduo
  • *
  • Puntos: 2
  • Mensajes: 159
  • Sexo: Masculino
    • Ver Perfil
Respuesta #3 en: Noviembre 12, 2009, 11:05:32 pm
Muchas gracias lo primero jeje, mas o menos lo de la velocidad tenia una idea, pero con esto, me queda totalmente claro jeje, ahora a ver si encuentro a alguien que me pueda decir lo de los giros.

Lo de las limitaciones, la verdad que llevo ya casi 4 años haciendo juegos en gml jeje y vale que empece por d&d pero lo que es programar como tal se jeje, por que ademas en mis estudios solo doy programacion, lo que pasa es que no se me da bien encontrar las funciones ni siquiera en el manual y menos saber como usarlas o como obtener ideas a la hora de pasar lo que quiero a codigo, por eso prefiero preguntar a estar 3 dias con el problema en la cabeza, que con los de los estudios tengo suficientes jeje, pero muchas gracias por el consejo, le entiendo perfectamente por que tengo lo menos 10 juegos que deje a la mitad xD

Un saludo!

 


Desconectado pucara

  • Okupa
  • *
  • Puntos: 145
  • Mensajes: 529
  • Sexo: Masculino
  • Gran devorador de píxeles.Cuanto más grandes mejor
    • Ver Perfil
    • Mis juegos
Respuesta #4 en: Noviembre 12, 2009, 11:52:21 pm
No dejes nunca de preguntar, es la mejor forma de aprender, junto con programar y programar...


Saludos y suerte con tu juego!


Desconectado SP_Christian

  • Asiduo
  • *
  • Puntos: 0
  • Mensajes: 204
    • Ver Perfil
Respuesta #5 en: Noviembre 13, 2009, 10:05:24 am
Pon esto en el evnto step:

Código: [Seleccionar]
//----------------------------------------
//vel            = velocidad
//vel_max   = velocidad maxima
//accel        = aceleracion
//d_accel    = deceleracion
//angle       = direccion
//----------------------------------------

x+=cos(degtorad(angle))*vel;
y-=sin(degtorad(angle))*vel;

//----------------------------------------

up=keyboard_check(vk_up);
left=keyboard_check(vk_left);
right=keyboard_check(vk_right);

//----------------------------------------

if (up) vel=min(vel_max,vel+accel);
else vel=max(0,vel-d_accel);

if (left) angle+=2;
if (right) angle-=2;

//----------------------------------------

Y esto en el draw:

Código: [Seleccionar]
draw_sprite_ext(sprite0,0,x,y,1,1,angle,c_white,1)No olvides declarar las variables xDD
Saludos


PD

Para las colisiones puede que esto te ayude un poco:
http://www.comunidadgm.org/index.php?topic=4277.0

Lo unico esque podras girar el coche y encastarlo en las paredes, con lo cual se quedara atascado xD
« última modificación: Noviembre 13, 2009, 10:08:53 am por SP_Christian »

 


Desconectado 3dgeminis

Respuesta #6 en: Noviembre 13, 2009, 06:39:43 pm
Te dejo un ejemplo
A y D giras el auto . W y S son para avanzar y retroceder, y 5 en el teclado numerico es para frenar

 


Desconectado Xuturk

  • Asiduo
  • *
  • Puntos: 2
  • Mensajes: 159
  • Sexo: Masculino
    • Ver Perfil
Respuesta #7 en: Noviembre 14, 2009, 11:08:38 am
Muchisimas gracias por estas respuestas jeje, esto es lo wue buscaba, voy a probarlo por que veo quy hay bastante material con lo de las colisiones y cuando lo tenga comento otra vez y digo si lo he conseguido hacer a mi gusto o no jeje.

Un abrazo y gracias de nuevo :)