Legendary Maker's
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Script de reflexo

2 participantes

Ir para baixo

Pedido Script de reflexo

Mensagem por DigiMatheus Sex Jul 23, 2010 10:54 pm

Gente eu estou precisando urgente de um script de reflexo na agua! Ex: Seu pers. passa ao lado do riacho e aparece o reflexo dele na agua! Eu só estou encontrado para XP! Será que tem como alguem arranjar um para o VX???
DigiMatheus
DigiMatheus
Ativo
Ativo

Mensagens : 45
LM Pontos : 128
Up's : 12
Data de inscrição : 18/07/2010
Idade : 25
Localização : Konoha

Ficha Maker
Premios:

http://animemperor.blogspot.com

Ir para o topo Ir para baixo

Pedido Re: Script de reflexo

Mensagem por davipb Sáb Jul 24, 2010 8:45 am

Achei o script "Reflexão de sprites" ele reflete os sprites do personagem nas áreas ou eventos com o nome "Reflexo", leio o script para mais instruções.
Código:
#==============================================================================
# TDS Reflexão de Sprites
# Versão: 1.8
#------------------------------------------------------------------------------
# Este script permite que os sprites do jogo sejam refletidos em certas partes
# do mapa, como água ou espelhos.
#==============================================================================
# :: Modo de Usar
#
# Crie áreas utilizando o próprio editor de mapas do RPG Maker VX e coloque
# o título "Reflexo" em todas elas. Você também pode usar o título "Reflexo"
# em eventos cujos reflexos você deseja criar. Abaixo você encontra algumas
# configurações especiais.
#
# Adicionando /OFFSET[X] ao nome do evento, você mudará a posição do reflexo.
# Sendo que X = Valor numérico da posição em pixels
#
# Exemplo: Reflexo /OFFSET[10]
#
# Isto irá controlar a posição vertical do sprite em pixels. A posição é nada
# mais nada menos que a posição do reflexo em relação à posição original do
# sprite.
#
# Você também pode usar a seguinte chamada de script para configurar a posição
# do reflexo do personagem principal:
#
# $game_player.reflect_offset = X
#
# Sendo que X = Valor numérico da posição em pixels
#
#==============================================================================


  #--------------------------------------------------------------------------
  # Deseja usar o efeito de água na reflexão do sprite? (true/false)
  #--------------------------------------------------------------------------
  WATER_WAVE_EFFECT = true

 
#==============================================================================
# Sprite_Character
#------------------------------------------------------------------------------
# Classe que gerencia os gráficos de personagens a serem exibidos.
# Esta classe está vinculada à classe Game_Character, que a monitora e
# automaticamente muda o status do sprite.
#==============================================================================

class Sprite_Reflect < Sprite_Base

  attr_accessor :character

  def initialize(viewport = nil, character = nil, offset = nil)
    super(viewport)
    self.visible = false
    @character = character
    @player_offset = $game_player.reflect_offset 
    @offset = (@character.is_a?(Game_Player) ? @player_offset : offset)
    sprite_setup 
    update
  end

  def sprite_setup
    self.bitmap = Cache.character(@character.character_name)         
    self.angle = 180
    self.mirror = true 
    self.opacity = 120     
    sign = @character.character_name[/^[\!\$]./]
      if sign != nil and sign.include?('$')
      @cw = bitmap.width / 3
      @ch = bitmap.height / 4
      else
      @cw = bitmap.width / 12
      @ch = bitmap.height / 8
    end           
  end
 
  def update
    super 
    index = @character.character_index
    pattern = @character.pattern < 3 ? @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)   
   
    if @character.is_a?(Game_Player)
        self.ox = @cw / 2     
        self.oy = 8 + @ch + $game_player.reflect_offset     
      else     
        self.ox = @cw / 2             
        self.oy = 8 + @ch + @offset
    end

    self.x = @character.screen_x
    self.y = @character.screen_y
    self.z = @character.screen_z

    if WATER_WAVE_EFFECT == true 
      self.wave_amp = 1
      self.wave_length = 1
      self.wave_speed = 3
    end   
  end
end


#==============================================================================
# Spriteset_Map
#------------------------------------------------------------------------------
# Classe responsável pela compilação dos sprites utilizados nos mapas.
# Esta classe é utilizada dentro da classe Scene_Map.
#==============================================================================

class Spriteset_Map
  def create_characters
    @character_sprites = []
    @event_reflection_sprite = []
    @reflecting_events = []
    for i in $game_map.events.keys.sort
      sprite = Sprite_Character.new(@viewport1, $game_map.events)
      @character_sprites.push(sprite)
    end
    for vehicle in $game_map.vehicles
      sprite = Sprite_Character.new(@viewport1, vehicle)
      @character_sprites.push(sprite)
    end
    @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
    for i in $game_map.events.keys.sort 
    @event_name_offset = $game_map.events.name 
    @event_name_offset[ /\/OFFSET\[(.*?)\]/ ]
    sprite = Sprite_Reflect.new(@viewport1, $game_map.events, $1 != nil ? $1.to_i : 0)   
    if $game_map.events.name.include?("Reflexo") 
      @event_reflection_sprite.push(sprite)   
      @reflecting_events.push($game_map.events)
      end
    end
    @reflection_sprite = Sprite_Reflect.new(@viewport1, $game_player, 0)         
  end
 
  alias tds_sprite_reflection_update update
  def update
    tds_sprite_reflection_update 
    if $game_player.current_area_name == "Reflexo"
    if $game_player.moving? == false
      @reflection_sprite.visible = true       
    end
    else       
    @reflection_sprite.visible = false               
    end
 
    for i in 0...@reflecting_events.size
    if @reflecting_events.current_area_name == "Reflexo"
      if @reflecting_events.moving? == false
        @event_reflection_sprite.visible = true       
      end
    else
      @event_reflection_sprite.visible = false     
    end   
    end
 
    if @reflection_sprite.visible == true       
      @reflection_sprite.update
    end
 
    for i in 0...@event_reflection_sprite.size
      if @event_reflection_sprite.visible == true
        @event_reflection_sprite.update         
      end
    end
  end 

  def dispose
    dispose_tilemap
    dispose_parallax
    dispose_characters
    dispose_shadow
    dispose_weather
    dispose_pictures
    dispose_timer
    dispose_viewports
 
    for i in 0...@reflecting_events.size
      @event_reflection_sprite.dispose
    end
 
    @reflection_sprite.dispose
  end
end


#==============================================================================
# Game_Character
#------------------------------------------------------------------------------
# Esta classe controla o personagem. Esta classe é uma superclasse de
# Game_Player e Game_Event.
#==============================================================================

class Game_Character

  attr_accessor  :reflect_offset        # Posição de reflexo do personagem
 
  alias tds_sprite_reflection_initialize initialize
  def initialize
    tds_sprite_reflection_initialize 
    @reflect_offset = 0
  end

  def in_area?(area)
    return false if area == nil
    return false if $game_map.map_id != area.map_id
    return false if @x < area.rect.x
    return false if @y < area.rect.y
    return false if @x >= area.rect.x + area.rect.width
    return false if @y >= area.rect.y + area.rect.height
    return true
  end

  def current_area_name
    for area in $data_areas.values
      if in_area?(area) == true
        return_area_name = area.name
        break
      end 
    end 
    return return_area_name
  end
end

#==============================================================================
# Game_Event
#------------------------------------------------------------------------------
# Esta classe controla os eventos. Verifica as condições para mudar de página
# e funções, como processo paralelo. Utiliza a classe Game_Map.
#==============================================================================

class Game_Event < Game_Character
  def name
    return @event.name
  end
end
davipb
davipb
MOD
MOD

Mensagens : 62
LM Pontos : 97
Up's : 11
Data de inscrição : 19/07/2010
Idade : 24
Localização : Via láctea

Ficha Maker
Premios:

Ir para o topo Ir para baixo

Pedido Re: Script de reflexo

Mensagem por DigiMatheus Sáb Jul 24, 2010 10:09 am

VLW! +1UP
DigiMatheus
DigiMatheus
Ativo
Ativo

Mensagens : 45
LM Pontos : 128
Up's : 12
Data de inscrição : 18/07/2010
Idade : 25
Localização : Konoha

Ficha Maker
Premios:

http://animemperor.blogspot.com

Ir para o topo Ir para baixo

Pedido Re: Script de reflexo

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos