Terra Makers
Bem-vindo à Terra Makers.
Para ter acesso total ao nosso fórum, cadastre-se ou faça seu login.

Efeito Espelho Ico-7255,48
Terra Makers
Bem-vindo à Terra Makers.
Para ter acesso total ao nosso fórum, cadastre-se ou faça seu login.

Efeito Espelho Ico-7255,48
Terra Makers
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.


Suporte à criação de jogos em RPG Maker
 
InícioInício  PortalPortal  ProcurarProcurar  Últimas imagensÚltimas imagens  RegistarRegistar  EntrarEntrar  
Participe do concurso "Dê um nome para o mascote do fórum!" e ganhe prêmios!
Participe do evento "Chame seus amigos para participarem do fórum"! e ganhe MakerCoins!

Compartilhe | 
 

 Efeito Espelho

Ver o tópico anterior Ver o tópico seguinte Ir para baixo 
AutorMensagem
macosx
Rei
Rei
macosx

<b>Mensagens</b> Mensagens : 74
<b>MakerCoins</b> MakerCoins : 2147483647
<b>Data de inscrição</b> Data de inscrição : 17/04/2010

Efeito Espelho Empty
MensagemAssunto: Efeito Espelho   Efeito Espelho EmptyTer maio 11, 2010 9:04 pm

Efeito Espelho


Código:
#################################################################
################ Dynamic shadows Mirror Effect ##################
#################################################################
# Adiciona o efeito espelho.
# Para ativar o script entre no Comando de Eventos e selecione
#o comando Comentário e adicione o código abaixo.
######################
# m                  # 
######################

class Sprite_Mirror < RPG::Sprite

 attr_accessor :character
 attr_accessor :events
 attr_accessor :event_y

 def initialize(viewport=nil)
  super(viewport)
  @character = $game_player
  @events=0
  @event_y=0
  self.opacity=0
  update
 end

 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)
      @cw = bitmap.width / 4
      @ch = bitmap.height / 4
      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
    if @character.direction==8
      sy = 0 * @ch
    end
    if @character.direction==2
      sy = 3 * @ch
    end
    self.src_rect.set(sx, sy, @cw, @ch)
  end
  self.x = @character.screen_x
  self.y = self.event_y-($game_player.screen_y-self.event_y).abs+30
  self.z = 10
  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

#===================================================
# ▼ CLASS Sprite_Character edit
#===================================================

class Sprite_Character < RPG::Sprite
  alias mirror_initialize initialize
 
  def initialize(viewport, character = nil)
    @character = character
    super(viewport)
    if character.is_a?(Game_Player)
    $game_map.mirror=Sprite_Mirror.new(viewport)
    end
    mirror_initialize(viewport, @character)
  end
 
  alias mirror_update update
 
  def update
  mirror_update
  if (@mirror!=nil and character.is_a?(Game_Event) and character.list!=nil and character.list[0].code == 108 and character.list[0].parameters == ["m"])
    if $game_player.screen_y-self.y<80 and self.y<$game_player.screen_y and ($game_player.screen_x-self.x).abs<17
      if (character.list[1]!=nil and character.list[1].code == 108)
        @mirror.opacity=character.list[1].parameters[0].to_f
      else
        @mirror.opacity=$game_player.opacity
      end
      @mirror.events=self.id
      @mirror.event_y=self.y
    else
      if @mirror.events==self.id
        @mirror.events=0
      else
        if @mirror.events==0
          @mirror.opacity=0
        end
      end
    end
  end
  @mirror=$game_map.mirror
  if character.is_a?(Game_Player)
    @mirror.update
  end
  end
 
end

#===================================================
# ▼ CLASS Scene_Save edit
#===================================================
class Scene_Save < Scene_File
 
  alias mirror_write_save_data write_save_data
 
  def write_save_data(file)
    $game_map.mirror = nil
    mirror_write_save_data(file)
  end
end

#===================================================
# ▼ CLASS Game_Map edit
#===================================================
class Game_Map
  attr_accessor :mirror
end

#===================================================
# ▼ CLASS Scene_Map edit
#===================================================
class Spriteset_Map
 
  alias mirror_map_initialize initialize
 
  def initialize
    $game_map.mirror=nil
    mirror_map_initialize
  end
end

Descrição:efeito espelho
Criador:Desconhecido
Disponibilizador:Mundo RPG Maker
Aplicando-o:insira um novo script e quando quizer usar o efeitos espelho coloque o evento comentário 'm' minusculo
Screen:Não tem


Ir para o topo Ir para baixo
 

Efeito Espelho

Ver o tópico anterior Ver o tópico seguinte Ir para o topo 
Página 1 de 1

Permissões neste sub-fórumNão podes responder a tópicos
Terra Makers :: ~ SUPORTE E CRIAÇÃO :: Scripts :: Scripts RGSS1-