O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Script Alinhamento de Pictures Avançado (XP e VXAce)

Iniciado por Ludo, 17/09/2015 às 11:26

17/09/2015 às 11:26 Última edição: 19/09/2015 às 11:08 por Ludovic
Advanced Picture Alignment
Por Ludovic
Agradecimentos à FelipeFalcon por exclarecimentos sobre o Sprite_Picture

Introdução

Este script permite mostrar pictures com mais 7 opções de alinhamento que os padrões que são apenas 2:
"Superior-Esquerda" e "Centro".
O script é tão simples que não é necessário editar nada e nem mesmo usar linhas de comando, apenas usar o comando padrão dos eventos. Mas a variável usada pode ser customizada.

Como Funciona?

O script substitui a opção "centro" no exibir imagens, ou seja, se quiser usar a opção "Superor Esquerda" vai funcionar normalmente.

Como Usar?

1- Use a opção(por eventos) para definir a variável dada (customizável) no script para um valor de 0 a 7
2- Em seguida use o comando padrão de exibição de imagens por eventos com todas as opções
desejadas lembrando de selecionar a opção "centro" para que o script funcione.
(Nota: A opção Superior-Esquerda não ativa o script)
Abaixo tem a lista ilustrada de como as imagens são alinhadas e os respectivos valores, no script também tem toda a explicação ilustrada.

Exemplo: Para exibir uma imagem alinhada pela parte "Superior-Direita" simplesmente dou o valor 5 à variável definida e uso o comando mostrar imagem/mover imagem pelo centro. Pronto!

Lista de valores para substituir a opção centro padrão:

Outros Exemplos de Uso




Correções

Caso encontre algum erro ou deseje um tipo de alinhamento a seu gosto me informe aqui que eu providenciarei um meio para melhor atendê-los.


SCRIPT RM VX ACE

Código: auto:0
#==============================================================================
# ** Advanced Picture Alignment - Alinhamento de Pictures Avançado
# ** Versão 1.0
# ** Por Ludovic
# ** Agradecimento a FelipeFalcon por esclarecer sobre o Sprite_Picture
#------------------------------------------------------------------------------
# Este script permite mostrar pictures com mais 7 opções de alinhamento que os 
# padrões que são 2: "Superior-Esquerda" e "Centro".
# O script é tão simples que não é necessário editar nada e nem mesmo usar 
# linhas de comando, apenas usar o comando padrão dos eventos.
# COMO FUNCIONA
# O script substitui a opção "centro" no exibir imagens, ou seja, se quiser usar
# a opção "Superor Esquerda" vai funcionar normalmente.
# COMO USAR
# 1- Use a opção(por eventos) para definir o valor da variável 25 (ou a variável
# que você desejar) para um valor de 0 a 7
# 2- Use o comando padrão de exibição de imagens por eventos com todas as opções
# desejadas lembrando de selecionar a opção "centro" fictícia para que o script
# funcione. 
# (Nota: A opção Superior-Esquerda não ativa o script)
# Abaixo tem a lista ilustrada de como as imagens são alinhadas.
#==============================================================================
#   0=Centro    1=Centro-Abaixo   2=Centro-Acima   3-Esq-Cent-Vertical
#   ---------      ---------        ----o----          ---------
#   |       |      |       |        |       |          |       |
#   |   o   |      |       |        |       |          o       |
#   |       |      |       |        |       |          |       |
#   ---------      ----o----        ---------          ---------
#-------------------------------------------------------------------------------
# 4=Dir-Cent-Vertical  5=Superior-Direita  6=Inferior-Esq  7-Inferior-Dir
#     ---------             --------o        ---------          ---------
#     |       |             |       |        |       |          |       |
#     |       o             |       |        |       |          |       |
#     |       |             |       |        |       |          |       |
#     ---------             ---------        o--------          --------o
#===============================================================================
module ALNPIC
# Defina aqui a variável para receber os valores ===============================
  VAR = 25
end
#===============================================================================
#===============================================================================
# Não altere nada a partir daqui a menos que saiba o que está fazendo ==========
class Sprite_Picture < Sprite
  #--------------------------------------------------------------------------
  # * Atualização da origem
  #--------------------------------------------------------------------------
  def update_origin
    if @picture.origin == 0
      self.ox = 0
      self.oy = 0
    else
#===================================  Centro ===================================
      if $game_variables[ALNPIC::VAR] == 0
        self.ox = bitmap.width / 2
        self.oy = bitmap.height / 2
      end
#===================================  Centro - Abaixo  =========================
      if $game_variables[ALNPIC::VAR] == 1
        self.ox = bitmap.width / 2
        self.oy = bitmap.height
      end  
#===================================  Centro - Acima  ==========================
      if $game_variables[ALNPIC::VAR] == 2
        self.ox = bitmap.width / 2
        self.oy = 0
      end
#===================================  Esquerda - Centro Vertical  ==============
      if $game_variables[ALNPIC::VAR] == 3
        self.ox = 0
        self.oy = bitmap.height / 2
      end
#===================================  Direita - Centro Vertical  ===============
      if $game_variables[ALNPIC::VAR] == 4
        self.ox = bitmap.width
        self.oy = bitmap.height / 2
      end      
#===================================  Superior - Direita =======================
      if $game_variables[ALNPIC::VAR] == 5
        self.ox = bitmap.width
        self.oy = 0
      end
#===================================  Inferior - Esquerda ======================
      if $game_variables[ALNPIC::VAR] == 6
        self.ox = 0
        self.oy = bitmap.height
      end
#===================================  Inferior - Direita =======================
      if $game_variables[ALNPIC::VAR] == 7
        self.ox = bitmap.width
        self.oy = bitmap.height
      end
    end
  end
end



SCRIPT RM XP

#==============================================================================
# ** Advanced Picture Alignment - Alinhamento de Pictures Avançado
# ** Versão 1.0
# ** Por Ludovic
# ** Agradecimento a FelipeFalcon por esclarecer sobre o Sprite_Picture
#------------------------------------------------------------------------------
# Este script permite mostrar pictures com mais 7 opções de alinhamento que os 
# padrões que são 2: "Superior-Esquerda" e "Centro".
# O script é tão simples que não é necessário editar nada e nem mesmo usar 
# linhas de comando, apenas usar o comando padrão dos eventos.
# COMO FUNCIONA
# O script substitui a opção "centro" no exibir imagens, ou seja, se quiser usar
# a opção "Superor Esquerda" vai funcionar normalmente.
# COMO USAR
# 1- Use a opção(por eventos) para definir o valor da variável 25 (ou a variável
# que você desejar) para um valor de 0 a 7
# 2- Use o comando padrão de exibição de imagens por eventos com todas as opções
# desejadas lembrando de selecionar a opção "centro" fictícia para que o script
# funcione. 
# (Nota: A opção Superior-Esquerda não ativa o script)
# Abaixo tem a lista ilustrada de como as imagens são alinhadas.
#==============================================================================
#   0=Centro    1=Centro-Abaixo   2=Centro-Acima   3-Esq-Cent-Vertical
#   ---------      ---------        ----o----          ---------
#   |       |      |       |        |       |          |       |
#   |   o   |      |       |        |       |          o       |
#   |       |      |       |        |       |          |       |
#   ---------      ----o----        ---------          ---------
#-------------------------------------------------------------------------------
# 4=Dir-Cent-Vertical  5=Superior-Direita  6=Inferior-Esq  7-Inferior-Dir
#     ---------             --------o        ---------          ---------
#     |       |             |       |        |       |          |       |
#     |       o             |       |        |       |          |       |
#     |       |             |       |        |       |          |       |
#     ---------             ---------        o--------          --------o
#===============================================================================
module ALNPIC
# Defina aqui a variável para receber os valores ===============================
  VAR = 25
end
#===============================================================================
#===============================================================================

class Sprite_Picture < Sprite
  def update
    super
    if @picture_name != @picture.name
      @picture_name = @picture.name
      if @picture_name != ""
        self.bitmap = RPG::Cache.picture(@picture_name)
      end
    end
    if @picture_name == ""
      self.visible = false
      return
    end
    self.visible = true

#===============================================================    
    if @picture.origin == 0
      self.ox = 0
      self.oy = 0
    else
      self.ox = self.bitmap.width / 2
      self.oy = self.bitmap.height / 2
      
#===================================  Centro ===================================
      if $game_variables[ALNPIC::VAR] == 0
        self.ox = self.bitmap.width / 2
        self.oy = self.bitmap.height / 2
      end
#===================================  Centro - Abaixo  =========================
      if $game_variables[ALNPIC::VAR] == 1
        self.ox = self.bitmap.width / 2
        self.oy = self.bitmap.height
      end  
#===================================  Centro - Acima  ==========================
      if $game_variables[ALNPIC::VAR] == 2
        self.ox = self.bitmap.width / 2
        self.oy = 0
      end
#===================================  Esquerda - Centro Vertical  ==============
      if $game_variables[ALNPIC::VAR] == 3
        self.ox = 0
        self.oy = self.bitmap.height / 2
      end
#===================================  Direita - Centro Vertical  ===============
      if $game_variables[ALNPIC::VAR] == 4
        self.ox = self.bitmap.width
        self.oy = self.bitmap.height / 2
      end      
#===================================  Superior - Direita =======================
      if $game_variables[ALNPIC::VAR] == 5
        self.ox = self.bitmap.width
        self.oy = 0
      end
#===================================  Inferior - Esquerda ======================
      if $game_variables[ALNPIC::VAR] == 6
        self.ox = 0
        self.oy = self.bitmap.height
      end
#===================================  Inferior - Direita =======================
      if $game_variables[ALNPIC::VAR] == 7
        self.ox = self.bitmap.width
        self.oy = self.bitmap.height
      end
#===============================================================       
      
    end
#===============================================================    
 
    self.x = @picture.x
    self.y = @picture.y
    self.z = @picture.number
   
    self.zoom_x = @picture.zoom_x / 100.0
    self.zoom_y = @picture.zoom_y / 100.0
    self.opacity = @picture.opacity
    self.blend_type = @picture.blend_type

    self.angle = @picture.angle
    self.tone = @picture.tone
  end
end


Clique e conheça o meu canal - Canal RPG Maker Zone

Ah ai sim  :wow:

Você já tinha feito então ^^, eu acho útil sim esse tipo de script, pela seguinte razão. Eu já usei o eixo em locais diferentes para os scripts, logo se precisei usar um eixo diferente dos dois disponíveis... Seria algo que apenas com eventos daria um trabalho absurdamente maior.


Olhando aqui eu descobri pra quê que esse ox servia, daí ia tentar fazer...  :=|:

Mas bacana que conseguiu resolveu por si próprio. Eu acho bem útil, talvez não
tanto para quem faz sistemas básicos e tal, mas pra algo mais customizado,
algum sistema mais daora é bem proficiente, principalmente pro girar imagem.

Útil o script, ainda mais pra quem é preguiçoso tipo eu que ao invés de colocar coordenadas simplesmente uso uma picture em 544x416 e posiciono a imagem dentro dela onde quero, depois deixo o resto transparente e uso o superior esquerda hauhau mas assim com o script fica mais fácil.

18/09/2015 às 07:38 #4 Última edição: 18/09/2015 às 07:58 por Ludovic
Adicionada versão XP a pedido


Citação de: Uhtred online 17/09/2015 às 18:13
Útil o script, ainda mais pra quem é preguiçoso tipo eu que ao invés de colocar coordenadas simplesmente uso uma picture em 544x416 e posiciono a imagem dentro dela onde quero, depois deixo o resto transparente e uso o superior esquerda hauhau mas assim com o script fica mais fácil.

eu também faço assim, normalmente, mas tem coisas que precisam desses recursos pra ficarem mais bonitas, tipo Isso, não daria pra ficar bom pelo alinhamento Superior Esquerdo
Clique e conheça o meu canal - Canal RPG Maker Zone