Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Temas - Scimjara

1
Preguntas y respuestas / Sistema de poderes
Noviembre 20, 2012, 10:45:08 PM
Hola a todos. Estoy programando un juego que tendría lo que viene siendo un sistema en el que tu apretas a una tecla y hace un poder distinto. Tengo pensado realizar estos poderes con particulas.

Ahora, me preguntaba cual es la forma más correcta de escribir dicho codigo.

¿Seria buena idea hacer un script para cada poder? Haciendo un script general,  y separar cada poder en un script distinto con cada una de sus peculiaridades, se llamaria desde cada uno al script general y luego cada uno haría sus cosas. Y luego haría que a cada step con if se vea si se pulsaron las teclas para ejecutar cada poder y ejecute dicho script.. así lo tendría bien separado y a mano.

¿es buena idea o sería mejor trabajar de otra forma? Saludos.
2
Veréis, empecé ayer con Game Maker y directamente he empezado a código. No soy novato en programación en general aunque si en GML xD y he estado buscando por ahí y no he conseguido ver un problema igual a este.

La cosa es que poniendole el suelo que le ponga se me queda pegado el personaje. Lo mejor de todo es cuando le da el momento spiderman y se sube por las paredes y el techo xD

También si os fijais a veces hay más distancia entre el personaje y el suelo, supongo que va asociado con los frames pero tampoco veo una causa directa..



El código es este:

En un evento create del personaje:
{
gravity_direction = 270;
jump = 1;
}


Evento step:
{
sc_movement();
}


script (sc_movement):
{
if keyboard_check(ord("A")) && place_free(x-3,y) then hspeed=-4;
if keyboard_check(ord("D")) && place_free(x+3,y) then hspeed=4;

if keyboard_check(ord("D")) then sprite_index = boy_der;
if keyboard_check(ord("A")) then sprite_index = boy_izq;
if keyboard_check(ord("S")) then sprite_index = boy_abajo;

if keyboard_check(ord("A")) || keyboard_check(ord("D"))
  {
  image_speed = 1;
  }
  else
  {
  image_speed = 0;
  hspeed = 0;
  }

    if keyboard_check_pressed(ord("W"))
    {
    if jump>0
    {
    vspeed=-10;
    jump-=1;
    }
    }
    if place_free(x,y+3)
    {
    gravity=0.7;
    }
    else
    {
    gravity=0.7;
    }
}


Evento de colisión con el suelo o las paredes:
{
jump=1;
gravity_direction=270;
}


He probado a cambiar cosas por mi cuenta, según la lógica que he seguido siempre en otros lenguajes, pero no he logrado resolverlo de momento. Saludos!

EDITO:
Unos segundos después de poner esto he resuelto lo de que escale por las paredes xD ya no lo hace, pero me sigue pasando lo del suelo.
3
¡Hola a todos! Aprovecho que posteo esta duda también para presentarme como nuevo user :) acabo de llegar a CGM justo ahora.

La cosa es que he empezado con GM hace escasos días y, como siempre pienso con todos los programas, las utilidades visuales, las más sencillas como el drag & drop se quedarán cortas a la hora de hacer juegos más complejos. No soy un novato en esto de los scripts, ya que manejo PHP, Javascript, c++ (básico) y cuatro tonterías más que realmente no merece la pena decir, como es el mySQL.
Sin embargo a la hora de querer programar con GML me he dado cuenta de que carece por completo o por lo menos yo no lo encuentro de documentación acerca de qué hacen las funciones..

donde puedo mirar para estudiarme GML? He mirado en la wiki, y de 200 funciones que tendrán en la lista apenas 15 están descritas.. la sintaxis y demás la entiendo, puedo trabajar con variables, condicionales, etc. pero usar funciones de GML me es imposible si desconozco lo que hacen!!

Gracias! :)