Retroceder   Foros de Emudesc > Crea tus propios juegos > RPG Maker > Dudas

Respuesta
 
Herramientas
  #1  
Antiguo 06-abr-2012, 19:07
Avatar de Zetho.
Big Poster
 
Fecha de Ingreso: diciembre-2007
Ubicación: Hyrule
Mensajes: 3,568
Zetho. aporta cosas de calidadZetho. aporta cosas de calidad
1857 8148 6038 1956
Predeterminado Hacer que un chara (o mas) puedan utilizar mas de 4 sprites [RPGXP]

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.


Responder Con Cita
  #2  
Antiguo 06-abr-2012, 23:47
Avatar de Blues~
Advanced Member
 
Fecha de Ingreso: julio-2011
Mensajes: 472
Blues~ se está dando a conocer
Predeterminado Re: Hacer que un chara (o mas) puedan utilizar mas de 4 sprites [RPGXP]

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.
Responder Con Cita
  #3  
Antiguo 14-abr-2012, 00:55
Avatar de Adex.
EMD Addict
 
Fecha de Ingreso: mayo-2011
Ubicación: Caracas, Venezuela
Mensajes: 1,543
Adex. se está dando a conocer
7258 2884 8573 1111
Predeterminado Re: Hacer que un chara (o mas) puedan utilizar mas de 4 sprites [RPGXP]

Cita:
Empezado por Blues~ Ver Mensaje
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.
No TOF, no.
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:
-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~
Responder Con Cita
Respuesta



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


La franja horaria es GMT +2. La hora actual es: 14:47.


Alojamiento web 1&1. Powered by vBulletin®


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93