¡Bienvenido a Universo Maker!
¿Es esta la primera vez que visitas el foro? Si es así te recomendamos que te registres para tener completo acceso a todas las áreas y secciones del foro, así también podrás participar activamente en la comunidad. Si ya tienes una cuenta, conectate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo Mensaje [Página 1 de 1.]

ejqs19

avatar
Hola amigos de U.Maker les vengo a dejar este script.

Script: Desplazamiento suave
Autor: Bunga Tepi Jalan
Versión: 1.0

Descripción:
Cuando un mapa excede el tamaño predeterminado de la ventana de RPG Maker XP (640 x 480), la imagen se desplaza junto al jugador. En ocasiones, este desplazamiento sufre pérdidas de fps (frames por segundo) y da la sensación de que va a trompicones o da algunos saltos. Este script suaviza el desplazamiento de la imagen del mapeado.

Script:
Código:
#==============================================================================
# Listra Smooth Scroller Module (RMXP)
# Autor: Bunga Tepi Jalan
# Versión 1.0
# Traducción (en fase): D.A.C.
#==============================================================================
# Propiedad de Bunga Tepi Jalan.
#  * No te olvides de los créditos en caso de usar este script.
#  * Eres libre de compartir - copiar, distribuir y comunicar públicamente la obra.
#  * Eres libre de reescribir - para adaptar el trabajo.
#  * Se prohíbe el uso de este script para fines comerciales.
#==============================================================================
# Información:
#  Este script hace que el desplazamiento del mapa sea más suave.
# Si encuentras algún problema o tienes alguna sugerencia, mándame un e-mail a 'listra92@gmail.com', o postea en
# cualquiera de las siguientes direcciones:
#  - http://bungatepijalan.wordpress.com
#  - http://www.rpgmakerid.com
#  - http://prodig.forumotion.net
#  - http://vixep.forumsrpg.net
#==============================================================================

module LSSM
  #--------------------------------------------------------------------------
  # * Listra Smooth Scroller Module Configuration
  #--------------------------------------------------------------------------
 
  # Config 1 -- Factor de desplazamiento suave: cuánto más alto sea el valor, más lento es el desplazamiento.
  SMOOTH = 16.0
  # Config 2 -- Desplazamiento del borde del mapeado horizontal y vertical personalizado
  # No exceder CENTER_X y CENTER_Y.
  HBOR = 320 * 4
  VBOR = 240 * 4
  # Config 3 -- ¿Usar HBOR & VBOR?
  USECUSTOMBOR = false
end

#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
#  This class handles the player. Its functions include event starting
#  determinants and map scrolling. Refer to "$game_player" for the one
#  instance of this class.
#==============================================================================

class Game_Player < Game_Character
  #--------------------------------------------------------------------------
  # * Invariables (changed)
  #--------------------------------------------------------------------------
  CENTER_X = 320 * 4  # Center screen x-coordinate * 4
  CENTER_Y = 240 * 4  # Center screen y-coordinate * 4
  #--------------------------------------------------------------------------
  # * 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
    # Player position as the real target coordinate (times 4)
    # Disable this if you want to use another position at certain event
    target_x = @real_x
    target_y = @real_y
    # Horizontal & vertical scroll border
    if LSSM::USECUSTOMBOR
      hbor = LSSM::HBOR
      vbor = LSSM::VBOR
    else
      hbor = CENTER_X
      vbor = CENTER_Y
    end
    # If character is positioned lower than the center of the screen
    if target_y - $game_map.display_y > 15*128 - vbor
      # Scroll map down
      if target_y > $game_map.height*128 - vbor
        $game_map.scroll_down((($game_map.height - 15)*128 - $game_map.display_y)/LSSM::SMOOTH)
      else
        $game_map.scroll_down((target_y - $game_map.display_y - 15*128 + vbor)/LSSM::SMOOTH)
      end
    end
    # If character is positioned more left on-screen than center
    if target_x - $game_map.display_x < hbor
      # Scroll map left
      if target_x < hbor
        $game_map.scroll_left($game_map.display_x/LSSM::SMOOTH)
      else
        $game_map.scroll_left(($game_map.display_x + hbor - target_x)/LSSM::SMOOTH)
      end
    end
    # If character is positioned more right on-screen than center
    if target_x - $game_map.display_x > 20*128 - hbor
      # Scroll map right
      if target_x > $game_map.width*128 - hbor
        $game_map.scroll_right((($game_map.width - 20)*128 - $game_map.display_x)/LSSM::SMOOTH)
      else
        $game_map.scroll_right((target_x - $game_map.display_x - 20*128 + hbor)/LSSM::SMOOTH)
      end
    end
    # If character is positioned higher than the center of the screen
    if target_y - $game_map.display_y < vbor
      # Scroll map up
      if target_y < vbor
        $game_map.scroll_up($game_map.display_y/LSSM::SMOOTH)
      else
        $game_map.scroll_up(($game_map.display_y + vbor - target_y)/LSSM::SMOOTH)
      end
    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
Nota de D.A.C.: Próximamente lo traduciré en castellano.

D.A.C.

avatar
He editado algunas frases del tema para evitar posibles discusiones y he añadido una descripción para los que no sepan qué es 'Smooth Scrolling'. Enseguida lo sumo al Índice de scripts. ¡Muchas gracias por el aporte! [+20 Makedas]

427008


no entendi el funcionamiento xddd

JohaN.

avatar
427008 escribió:no entendi el funcionamiento xddd
Debes probarlo, yo lo uso para VX y es muy agradable al jugar.
Saludos.

D.A.C.

avatar
427008 escribió:no entendi el funcionamiento xddd
El 'Smooth scrolling' es básicamente una mejora de la fluidez a la que se desplaza el mapeado.

427008


ya probe el script XD!

muy buen aporte aunque no me gusto del todo...

gracias !,a algun otro le servira XD

Edisonortiz15

avatar
AYUDAAA!!!! Alguien podría por favor ayudarme y modificar Este Script y Hacerlo Compatible con el XAS? :/

sombi02

avatar
wow me gusto el efecto es muy agradable a la vista, buen aporte

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

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