Registrarse

[Essentials] [16/17] Mejor animación al girarse

Jaizu

Decomp user
Hola amigos waheros cómo están yo soy Jaizu el mejor en este tutorial os enseñaré a hacer esto, y sin cargarnos animaciones de puertas ni nada por el estilo.


Vamos al script Game_Character

Buscamos
Código:
  def jumping?
    return @jump_count > 0
  end
Y debajo ponemos
Código:
  def pattern=(value)
    @pattern=value
  end
Reemplazamos la función turnGeneric(dir) por
Código:
  def turnGeneric(dir)
    unless @direction_fix
      oldDirection=@direction
      @direction=dir
      if dir!=oldDirection
        if @pattern == 0 && @walk_anime
          @pattern = 3
        end
        @stop_count=0
        pbCheckEventTriggerAfterTurning
      end
    end
  end
Cambiamos la función update_stop por
Código:
  def update_stop
    if @step_anime
       [MENTION=42437]ani[/MENTION]me_count += 1
    elsif @pattern !=  [MENTION=40591]Origi[/MENTION]nal_pattern
       [MENTION=42437]ani[/MENTION]me_count += 1.5
    end
    unless @starting or lock?
      @stop_count += 1
    end
  end
También cambiamos la función update por
Código:
  def update
    if !$game_temp.in_menu
      if jumping?; update_jump
      elsif moving?; update_move
      else; update_stop
      end
      if  [MENTION=42437]ani[/MENTION]me_count > 18-@move_speed*3
        if !@step_anime && @stop_count>0
          @pattern =  [MENTION=40591]Origi[/MENTION]nal_pattern
        else
          @pattern = (@pattern+1)%4
        end
         [MENTION=42437]ani[/MENTION]me_count = 0
      end
      if @wait_count>0
        @wait_count -= 1
      elsif @move_route_forcing
        move_type_custom
      elsif !@starting && !lock?
        if @stop_count>(40-@move_frequency*2)*(6-@move_frequency)
          case @move_type
          when 1; move_type_random
          when 2; move_type_toward_player
          when 3; move_type_custom
          end
        end
      end
    end
  end
Ahora pa arreglar los eventos como las puertas y la enfermera joy cambiamos la función turnGeneric(dir) por
Código:
  def turnGeneric(dir)
    unless @direction_fix
      oldDirection=@direction
      @direction=dir
      return if self !=$game_player && pbEventCommentInput(self,0,"jaizuelmejor")
      if dir!=oldDirection
        if @pattern == 0 && @walk_anime
          @pattern = 3
        end
        @stop_count=0
        pbCheckEventTriggerAfterTurning
      end
    end
  end
Y ahora editamos nuestras puertas o eventos para añadirle el comentario jaizuelmejor, aunque obviamente lo podéis reemplazar, así escribís un poco x)


Ahora para tener animación cuando el player salta reemplazamos la función screen_y por
Código:
  def screen_y
    y = (@real_y - self.map.display_y + 3) / 4 + (Game_Map::TILEHEIGHT)
    if jumping?
      n = (@jump_count - @jump_peak).abs
      if @walk_anime
         [MENTION=42437]ani[/MENTION]me_count += n
      end
      return y - (@jump_peak * @jump_peak - n * n) / 2
    end
    return y
  end
Los créditos necesarios son para WolfPP.
A mí me podéis dar créditos si os apetece, pero no me voy a morir si no lo hacéis.
 

Jessie

What goes around, comes around
Aunque es el tutorial de alguien más, se agradece el aporte, sobre todo de algo simple pero a la vez interesante.

Te sugiero que cuando publiques temas de terceros, coloques el link al tema original, aunque esté en otro idioma, ya que podría servir de referencia.

Saludos.

P.D :
En el tutorial se usan varios métodos y funciones exclusivas de Pokémon Essentials, así que le he cambiado el Prefijo a Essentials, en lugar de RMXP.
 

ItachiD19

Usuario de Bronce
¡Lindo aporte! No es algo que sea requerido en cada juego pero queda mucho mejor que el original y es un lindo detalle.
 
Arriba