|
#1
|
||||
|
||||
|
Bueno, eso.
Quiero que mi Personaje tenga movimientos mas fluidos, y eso no se puede hacer con los 4 sprites por movimiento que tiene el RPG Maker XP, por eso necesito que alguiem me ayude a poder utilizar mas cantidas de sprites por movimiento. Nose si es un Script o simplemente hay que cambiar la configuración del RPGXP. |
|
#2
|
||||
|
||||
|
Hm... pues yo te diria que... ¿movimientos mas fluidos?. Simple.
Necesitas un script de Multiframes, y hacer o conseguir una sheet (El charaset) que cumpla con el numero de frames que tenga la sheet. No se si me entiendes. No soy pixel artist ni nada xD, asi que no te puedo ayudar con crearlo. Tambien puedes probar un script de movimiento diagonal, te puede servir. |
|
#3
|
||||
|
||||
|
Cita:
En parte tienes razón; miren: El Script te dice que el número de frames es el número de Charas que pondrás en el Sheet, entonces cambias la cifra y pones la que te guste, creo que es así, buscaré el script. Otra opción es hacerlo desde la misma cantidad de 4, es decir no colocar los Charas así: ![]() Sino de la siguiente manera: ![]() Edit: Justamente lo que te decía: Código:
#==============================================================================
# Extra Movement Frames v. 1.0
# Autor: modern algebra (rmrk.net)
# Fecha: 20 de Enero de 2008
#------------------------------------------------------------------------------
# Instrucciones:
# Coloca este script sobre Main en el Editor.Para añadir un chara con
# frames extra, simplemente cámbiale el nombre de la imagen a algo
# de este estilo:
# !$%[<numero de frames>]<Nombre del chara>
#
# Ejemplo: !$%[4]001-Fighter01
# Eso hara que el grafico 001-Fighter01 tenga 4 frames.
#------------------------------------------------------------------------------
# ** Game_Character
#------------------------------------------------------------------------------
# Resumen de cambios:
# aliased methods - update_animation
# new class variables - height divisor, width divisor
# new methods - calculate_divisors
#==============================================================================
class Game_Character
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :height_divisor # The height of a single frame
attr_reader :width_divisor # number of frames in the x direction
#--------------------------------------------------------------------------
# * Calculate Divisors
#--------------------------------------------------------------------------
# Sets up the instance variables required
#--------------------------------------------------------------------------
def calculate_divisors
return unless @previous_character.nil? || @previous_character != @character_name
bitmap = Cache.character (@character_name)
sign = @character_name[/^[\!\$].[\%]\[\d*\]/]
if !sign.nil? && sign.size > 5
@original_pattern = 0
@width_divisor = sign[4, sign.size - 5].to_i
@height_divisor = 4
elsif !sign.nil? && sign.include? ('$')
@width_divisor = 3
@height_divisor = 4
else
@width_divisor = 12
@height_divisor = 8
end
@previous_character = @character_name
end
#--------------------------------------------------------------------------
# * Update Animation
#--------------------------------------------------------------------------
# Change the hard coded values to ones dependent on character graphic format
#--------------------------------------------------------------------------
alias ma_extra_movement_frames_anim_upd update_animation
def update_animation
saved_anime_count = @anime_count
pattern_original = @pattern
speed = @move_speed + (dash? ? 1 : 0)
ma_extra_movement_frames_anim_upd
if (saved_anime_count > (18 - speed * 2)) && (@step_anime || (@stop_count <= 0))
@pattern = (pattern_original + 1) % @width_divisor
end
end
end
#==============================================================================
# * Sprite Character
#------------------------------------------------------------------------------
# Summary of changes:
# aliased methods - update_src_rect, update_bitmap
#==============================================================================
class Sprite_Character
#--------------------------------------------------------------------------
# * Update Src Rect
#--------------------------------------------------------------------------
# Interpret multiple movement frames: Changed pattern
#--------------------------------------------------------------------------
alias ma_extra_movement_frames_src_rect_upd update_src_rect
def update_src_rect
if @tile_id == 0
ma_extra_movement_frames_src_rect_upd
index = @character.character_index
pattern = @character.pattern < @character.width_divisor ? @character.pattern : 1
sx = (index % 4 * 3 + pattern) * @cw
sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch
self.src_rect.set(sx, sy, @cw, @ch)
end
end
#--------------------------------------------------------------------------
# * Update Bitmap
#--------------------------------------------------------------------------
# Change hard coded values to ones dependent on character graphic
#--------------------------------------------------------------------------
alias ma_extra_movement_frames_bmp_upd update_bitmap
def update_bitmap
@character.calculate_divisors
saved_tile_id = @tile_id
saved_character_name = @character_name
saved_character_index = @character_index
ma_extra_movement_frames_bmp_upd
if saved_tile_id != @character.tile_id or
saved_character_name != @character.character_name or
saved_character_index != @character.character_index
unless @tile_id > 0
@cw = bitmap.width / @character.width_divisor
@ch = bitmap.height / @character.height_divisor
self.ox = @cw / 2
self.oy = @ch
end
end
end
end
#==============================================================================
# ** Window Base
#------------------------------------------------------------------------------
# Summary of changes:
# overwritten methods - draw_character
#==============================================================================
class Window_Base
#--------------------------------------------------------------------------
# * Draw Charater (overwritten for extra movement frames)
# character_name : the name of the character file
# character_index : the index of the character in the file
# x : the x position to draw
# y : the y position to draw
#--------------------------------------------------------------------------
def draw_character(character_name, character_index, x, y)
return if character_name == nil
bitmap = Cache.character(character_name)
sign = character_name[/^[\!\$].[\%]\[\d*\]/]
if !sign.nil? && sign.size > 5
cw = bitmap.width / sign[4, sign.size - 5].to_i
ch = bitmap.height / 4
elsif sign != nil and sign.include?('$')
cw = bitmap.width / 3
ch = bitmap.height / 4
else
cw = bitmap.width / 12
ch = bitmap.height / 8
end
n = character_index
src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end
end
-Instrucciones: 1- Coloca el script sobre Main, en el Editor de Scripts. 2- Para usar un chara con posiciones extra nombra a su imagen de esta forma: !$%[<numero de frames>]<Nombre del chara> -Ejemplo: !$%[4]001-Fighter01 Si lo colocas en 9, usa un chara como éste: ![]() Créditos a Hinaro ~Recopilación y Pedidos de Scripts de EMD~ |
![]() |
|
|
Temas Similares para: Hacer que un chara (o mas) puedan utilizar mas de 4 sprites [RPGXP]
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Pregunta como hacer que los graficos del RPG maker se puedan seleccionar más | SuperMarioFan5000 | RPG Maker | 3 | 26-ene-2012 12:32 |
| Juegos que se puedan utilizar Wii Speak ? | FraaN.. | Nintendo Wii | 7 | 17-oct-2011 00:10 |
| Necesito pack de sprites effect's los que puedan ayudarme | ~ZA// | Firmas | 2 | 13-oct-2009 02:41 |
| Programa Para Hacer Videos Que Se Puedan Subir A Youtube | Rix | Descargas directas | 0 | 01-mar-2009 18:55 |
| pidan todos los trucos que puedan y vere que puedo hacer por uds. | DarkLink07 | Trucos | 1 | 16-nov-2007 19:02 |