Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 4147 miembros registrados.
El último usuario registrado es angeln0ble.

Nuestros miembros han publicado un total de 84825 mensajes en 12074 argumentos.

¿Cómo bloquear una tecla?

Ver el tema anterior Ver el tema siguiente Ir abajo

¿Cómo bloquear una tecla?

Mensaje por alfregameplayy el 2013-07-29, 12:10

Hola a todos, tengo una duda, y es que estoy trabajando en un proyecto en 2D de plataformas en el que solo se tiene que ir a derecha e izquierda, entonces ¿cómo bloqueo las teclas arriba y abajo?
Graciass :)
avatar
alfregameplayy
Iniciado
Iniciado

0/3

Créditos 47

Gracias : 2

Volver arriba Ir abajo

Re: ¿Cómo bloquear una tecla?

Mensaje por orochii el 2013-07-29, 19:35

Se puede hacer un edit simple al Game_Player.
Código:
class Game_Player
#--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Remember whether or not moving in local variables
    last_moving = moving?
    # If moving, event running, move route forcing, and message window
    # display are all not occurring
    unless moving? or $game_system.map_interpreter.running? or
          @move_route_forcing or $game_temp.message_window_showing
      # Move player in the direction the directional button is being pressed
      case Input.dir4
      #when 2
        #move_down
      when 4
        move_left
      when 6
        move_right
      #when 8
        #move_up
      end
    end
    # Remember coordinates in local variables
    last_real_x = @real_x
    last_real_y = @real_y
    super
    # If character moves down and is positioned lower than the center
    # of the screen
    if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
      # Scroll map down
      $game_map.scroll_down(@real_y - last_real_y)
    end
    # If character moves left and is positioned more let on-screen than
    # center
    if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
      # Scroll map left
      $game_map.scroll_left(last_real_x - @real_x)
    end
    # If character moves right and is positioned more right on-screen than
    # center
    if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
      # Scroll map right
      $game_map.scroll_right(@real_x - last_real_x)
    end
    # If character moves up and is positioned higher than the center
    # of the screen
    if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
      # Scroll map up
      $game_map.scroll_up(last_real_y - @real_y)
    end
    # If not moving
    unless moving?
      # If player was moving last time
      if last_moving
        # Event determinant is via touch of same position event
        result = check_event_trigger_here([1,2])
        # If event which started does not exist
        if result == false
          # Disregard if debug mode is ON and ctrl key was pressed
          unless $DEBUG and Input.press?(Input::CTRL)
            # Encounter countdown
            if @encounter_count > 0
              @encounter_count -= 1
            end
          end
        end
      end
      # If C button was pressed
      if Input.trigger?(Input::C)
        # Same position and front event determinant
        check_event_trigger_here([0])
        check_event_trigger_there([0,1,2])
      end
    end
  end
end
Lo que hice fue comentar cuatro líneas, éstas específicamente.
Código:
      #when 2
        #move_down
      #when 4
        #move_up

Otra opción, por engines, sería hacer un evento automático que maneje el movimiento del personaje. Y de paso por engines uno hace el resto de las cosas que necesitaría el sistema por plataformas.

Igual pregúntale a Leda xD,
Orochii Zouveleki
avatar
orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6389

Gracias : 332

Volver arriba Ir abajo

Re: ¿Cómo bloquear una tecla?

Mensaje por alfregameplayy el 2013-07-29, 20:31

Gracias, probé lo del engine que me parecía más fácil y me funciono :)
avatar
alfregameplayy
Iniciado
Iniciado

0/3

Créditos 47

Gracias : 2

Volver arriba Ir abajo

Re: ¿Cómo bloquear una tecla?

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permisos de este foro:
No puedes responder a temas en este foro.