Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
Character 3 frame
2 participantes
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Dúvidas e pedidos
Página 1 de 1
Character 3 frame
O que tenho que fazer para diminuir as frames de um character?
Ex:
Normalmente os character's são de 4 frames:
1 2 3 4
Eu queria mudar essa configuração para 3 frames:
Ex:
1 2 3
Antes eu sabia como fazia isso, era um pequeno detalhe que estava "4", simplesmente
colocava "3" e vualá!
Mas em esqueci, então se alguém sabe como resolver, me ajude... :3
_________________
Facebook
†AnjoFael†- Experiente
- Mensagens : 408
Créditos : 67
Re: Character 3 frame
Com esse script que fiz para um projeto meu, você pode escolher quantos frames a imagem tem
abraços!
- Spoiler:
- Código:
#==============================================================================
# Script By Hashirama FRAMES
#==============================================================================
# O script permite que a imagem do character tenha mais
# que 4 frames.
#
# Para definir a quantidade de frames basta definir o nome
# da imagem da seguinte forma.
#
# Hero[X],png
#
# No lugar do X coloque a quantidade de frames desejada
#==============================================================================
#==============================================================================
# ■ Game_Character (分割定義 2)
#------------------------------------------------------------------------------
# キャラクターを扱うクラスです。このクラスは Game_Player クラスと Game_Event
# クラスのスーパークラスとして使用されます。
#==============================================================================
class Game_Character
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def update
if jumping?
update_jump
elsif moving?
update_move
else
update_stop
end
if @character_name[/\[(\d+)\]/]
@anime_count = 20 if @anime_count > 0 and @pattern == @original_pattern
if @anime_count * ($1.to_i - 1) / 4 > 18 - @move_speed * 2
if not @step_anime and @stop_count > 0
@pattern = @original_pattern
else
@pattern = @pattern % ($1.to_i - 1) + 1
end
@anime_count = 0
end
else
if @anime_count > 18 - @move_speed * 2
if not @step_anime and @stop_count > 0
@pattern = @original_pattern
else
@pattern = (@pattern + 1) % 4
end
@anime_count = 0
end
end
if @wait_count > 0
@wait_count -= 1
return
end
if @move_route_forcing
move_type_custom
return
end
if @starting or lock?
return
end
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
#==============================================================================
# ■ Sprite_Character
#------------------------------------------------------------------------------
# Game_Character
#
#==============================================================================
class Sprite_Character < RPG::Sprite
#--------------------------------------------------------------------------
#
#--------------------------------------------------------------------------
def update
super
if @tile_id != @character.tile_id or
@character_name != @character.character_name or
@character_hue != @character.character_hue
@tile_id = @character.tile_id
@character_name = @character.character_name
@character_hue = @character.character_hue
if @tile_id >= 384
self.bitmap = RPG::Cache.tile($game_map.tileset_name,
@tile_id, @character.character_hue)
self.src_rect.set(0, 0, 32, 32)
self.ox = 16
self.oy = 32
else
self.bitmap = RPG::Cache.character(@character.character_name,
@character.character_hue)
if @character.character_name[/\[(\d+)\]/]
@cw = bitmap.width / $1.to_i
@ch = bitmap.height / 4
else
@cw = bitmap.width / 4
@ch = bitmap.height / 4
end
self.ox = @cw / 2
self.oy = @ch
end
end
self.visible = (not @character.transparent)
if @tile_id == 0
sx = @character.pattern * @cw
sy = (@character.direction - 2) / 2 * @ch
self.src_rect.set(sx, sy, @cw, @ch)
end
self.x = @character.screen_x
self.y = @character.screen_y
self.z = @character.screen_z(@ch)
self.opacity = @character.opacity
self.blend_type = @character.blend_type
self.bush_depth = @character.bush_depth
if @character.animation_id != 0
animation = $data_animations[@character.animation_id]
animation(animation, true)
@character.animation_id = 0
end
end
end
#==============================================================================
# ■ Window_Base
#------------------------------------------------------------------------------
#
#==============================================================================
class Window_Base < Window
#--------------------------------------------------------------------------
def draw_actor_graphic(actor, x, y)
bitmap = RPG::Cache.character(actor.character_name, actor.character_hue)
if actor.character_name[/\[(\d+)\]/]
cw = bitmap.width / $1.to_i
ch = bitmap.height / 4
else
cw = bitmap.width / 4
ch = bitmap.height / 4
end
src_rect = Rect.new(0, 0, cw, ch)
self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
end
end
#==============================================================================
# ■ Window_SaveFile
#------------------------------------------------------------------------------
#
#==============================================================================
class Window_SaveFile < Window_Base
#--------------------------------------------------------------------------
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = normal_color
name = "File #{@file_index + 1}"
self.contents.draw_text(4, 0, 600, 32, name)
@name_width = contents.text_size(name).width
if @file_exist
for i in 0...@characters.size
bitmap = RPG::Cache.character(@characters[i][0], @characters[i][1])
if @characters[i][0][/\[(\d+)\]/]
cw = bitmap.width / $1.to_i
ch = bitmap.height / 4
else
cw = bitmap.width / 4
ch = bitmap.height / 4
end
src_rect = Rect.new(0, 0, cw, ch)
x = 300 - @characters.size * 32 + i * 64 - cw / 2
self.contents.blt(x, 68 - ch, bitmap, src_rect)
end
hour = @total_sec / 60 / 60
min = @total_sec / 60 % 60
sec = @total_sec % 60
time_string = sprintf("%02d:%02d:%02d", hour, min, sec)
self.contents.font.color = normal_color
self.contents.draw_text(4, 8, 600, 32, time_string, 2)
self.contents.font.color = normal_color
time_string = @time_stamp.strftime("%Y/%m/%d %H:%M")
self.contents.draw_text(4, 40, 600, 32, time_string, 2)
end
end
end
#==============================================================================
# ■ Game_Player
#------------------------------------------------------------------------------
#
#$game_player
#==============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# ● Modificado
#--------------------------------------------------------------------------
def anime_update
if @character_name[/\[(\d+)\]/]
@anime_count = 20 if @anime_count > 0 and @pattern == @original_pattern
if @anime_count * ($1.to_i - 1) / 4 > 18 - @move_speed * 2
if not @step_anime and @stop_count > 0
@pattern = @original_pattern
else
@pattern = @pattern % ($1.to_i - 1) + 1
end
@anime_count = 0
end
else
if @anime_count > 18 - @move_speed * 2
if not @step_anime and @stop_count > 0
@pattern = @original_pattern
else
@pattern = (@pattern + 1) % 4
end
@anime_count = 0
end
end
end
end
abraços!
Hashirama- Membro de Honra
- Mensagens : 413
Créditos : 133
†AnjoFael†- Experiente
- Mensagens : 408
Créditos : 67
Tópicos semelhantes
» Frame Respirar
» [EO]Attack frame :D
» Frame Stop - Bug fix
» Frame HIT (Animação)
» Cast Spell Frame [E.O 2.0]
» [EO]Attack frame :D
» Frame Stop - Bug fix
» Frame HIT (Animação)
» Cast Spell Frame [E.O 2.0]
Aldeia RPG :: RPG Maker :: Rpg Maker XP :: Dúvidas e pedidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos