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

Como chamar Artwork

Iniciado por ikaori, 16/09/2015 às 14:07

16/09/2015 às 14:07 Última edição: 18/09/2015 às 12:28 por ikaori
Bem Galera estou com um projeto Aqui e queria fazer uma galeria com as imagens do jogos desde seu inicio então Fui atras de um '' Script '' Que fazia algo assim eu encontrei o seguinte

Spoiler
#==================================================================
# CRM Art Gallery
# Autor: Raizen
# Comunidade : http://centrorpg.com/
# Compatibilidade: RMVXA
#==================================================================
# Instruções:
# É super simples usar e modificar, para modificar as imagens,
# basta ir na pasta Graphics/Gallery dentro do seu projeto e
# substituir as imagens dentro daquela pasta por imagens de mesmo nome.
# Caso tenha apagado alguma imagem acidentalmente aqui está a lista de imagens
# que o script usa.

# Para chamar a galeria de arte basta.
# Chamar Script: SceneManager.call(Scene_CRM_Gallery)

=begin
Nome das imagens

=> superior
=> superior2
=> ArrowDown
=> ArrowLeft
=> ArrowUp
=> ArrowRight
=> background


=end

#====================================================================

# Aqui você deverá configurar o script de acordo com as imagens que deseja,
# e outras configurações.

module CRM_Gallery
 
 
# Coloque o nome das imagens entre aspas em ordem da galeria, com a
# switch que libera a imagem ao lado.
# As imagens são redimensionadas automaticamente, assim qualquer imagem
# de qualquer tamanho é valido no script.

# Seguindo esse padrão

# 'nome da imagem' => nº da switch ,
# cuidado para não apagar os {}
Gallery = {
'Imagem (1)' => 1 ,
'Imagem (2)' => 2 ,
'Imagem (3)' => 3 ,
'Imagem (4)' => 4 ,
'Imagem (5)' => 5 ,
'Imagem (6)' => 6 ,
'Imagem (7)' => 7 ,
'Imagem (8)' => 8 ,
}

# Coloque aqui a posição dos cursores de movimento da imagem.
# Em X
Cur_X = 182
# Em Y
Cur_Y = 230

# Tempo que levará em frames para sumir os cursores e a imagem superior
# (60 frames = 1 segundo)
Time = 200


# Adicionar o script no menu padrão?

Add = false

# Nome no menu, entre aspas sempre

Name = "Gallery"
# =============================================================================
# =========================Aqui começa o script================================
# =============================================================================

end
#==============================================================================
# ** Cache
#------------------------------------------------------------------------------
#  Este modulo carrega cada gráfico, cria um objeto de Bitmap e retém ele.
# Para acelerar o carregamento e preservar memória, este módulo matém o
# objeto de Bitmap em uma Hash interna, permitindo que retorne objetos
# pré-existentes quando mesmo Bitmap é requerido novamente.
#==============================================================================


module Cache
  #--------------------------------------------------------------------------
  # * Carregamento dos gráficos de animação
  #     filename : nome do arquivo
  #     hue      : informações da alteração de tonalidade
  #--------------------------------------------------------------------------
  def self.gallery(filename)
    load_bitmap("Graphics/Gallery/", filename)
  end
end
#==============================================================================
# ** Scene_CRM_Gallery
#------------------------------------------------------------------------------
#  Esta classe executa a preview das imagens
#==============================================================================

class Scene_CRM_Gallery < Scene_Base
  #--------------------------------------------------------------------------
  # * Inicialização do processo
  # * Carregamento de Imagens (pode demorar caso tenha muitas imagens)
  #--------------------------------------------------------------------------
  def start
    super
    @background = Sprite.new
    @background.bitmap = Cache.gallery("background")
    @front = Sprite.new
    @front.bitmap = Cache.gallery("superior")
    @front.z = 20
    @gallery = Array.new
    @gallery_pic = Array.new
    @number = Array.new
    until @gallery.size > 6
      for n in 0...CRM_Gallery::Gallery.size - 1
        @gallery.push(CRM_Gallery::Gallery.key(n + 1)) if $game_switches[CRM_Gallery::Gallery.values[n]]
      end
      if @gallery.size == 0
        terminate
        return_scene
        return
      end
    end
    for n in 0...@gallery.size
      @number[n] = n
      @gallery_pic[n] = Sprite.new
      @gallery_pic[n].bitmap = Cache.gallery(@gallery[n])
      @gallery_pic[n].x = 130*n - 170
      @gallery_pic[n].y = 325
      @gallery_pic[n].zoom_x = 108.8/@gallery_pic[n].width
      @gallery_pic[n].zoom_y = 83.2/@gallery_pic[n].height
    end
    @preview = Sprite.new
    @preview.bitmap = Cache.gallery(@gallery[3])
    @preview.zoom_x = 299.2/@preview.width
    @preview.zoom_y = 228.8/@preview.height
    @preview.x = 120
    @preview.y = 55
  end
  #--------------------------------------------------------------------------
  # * finalização do processo
  #--------------------------------------------------------------------------
  def terminate
    super
    @gallery_pic.each {|gallery| gallery.bitmap.dispose ; gallery.dispose}
    @front.bitmap.dispose
    @background.bitmap.dispose
    @front.dispose
    @background.dispose
    if @preview
    @preview.bitmap.dispose
    @preview.dispose
    end
  end
  #--------------------------------------------------------------------------
  # * Atualização da tela
  #--------------------------------------------------------------------------
  def update
    super
    for n in 0...@gallery_pic.size
      if n > 0 && n < @gallery_pic.size - 1
        if @gallery_pic[@number[n]].x > 130 * n - 170
          @gallery_pic[@number[n]].x -= 13
        elsif @gallery_pic[@number[n]].x < 130 * n - 170
          @gallery_pic[@number[n]].x += 13
        end
      else
        @gallery_pic[@number[n]].x = 130 * n - 170
      end
      if n == 3
        @gallery_pic[@number[n]].y -= 4 if @gallery_pic[@number[n]].y > 305
      else
        @gallery_pic[@number[n]].y += 4 if @gallery_pic[@number[n]].y < 325
      end
    end
    return_scene && Sound.play_cancel if Input.trigger?(:B)
    if Input.trigger?(:RIGHT)
      @number.rotate!(1)
      Sound.play_cursor
      @preview.bitmap = Cache.gallery(@gallery[@number[3]])
      @preview.zoom_x = 299.2/@preview.width
      @preview.zoom_y = 228.8/@preview.height
    end
    if Input.trigger?(:LEFT)
      @number.rotate!(-1)
      Sound.play_cursor
      @preview.bitmap = Cache.gallery(@gallery[@number[3]])
      @preview.zoom_x = 299.2/@preview.width
      @preview.zoom_y = 228.8/@preview.height
    end
    if Input.trigger?(:C)
      $gallery_crm_pic = @gallery[@number[3]]
      Sound.play_ok
      SceneManager.call(Scene_Show_Gal)
    end
  end
end

#==============================================================================
# ** Scene_Show_Gal
#------------------------------------------------------------------------------
#  Esta classe executa a imagem após a escolha
#==============================================================================

  #--------------------------------------------------------------------------
  # * Inicialização do processo
  # * Carregamento de Imagens (pode demorar caso seja muito grande a imagem)
  #--------------------------------------------------------------------------
 
class Scene_Show_Gal < Scene_Base
  def start
    super
    @pic = Sprite.new
    @pic.bitmap = Cache.gallery($gallery_crm_pic)
    @pic.x = 272 - @pic.width/2
    @pic.y = 208 - @pic.height/2
    @all_zoom = false
    @get_i = ["superior2", "ArrowDown", "ArrowUp", "ArrowRight", "ArrowLeft"]
    @images = Array.new
    @reset = 0
    for n in 1..4
      @images[n] = Sprite.new
      @images[n].bitmap = Cache.gallery(@get_i[n])
      @images[n].x = CRM_Gallery::Cur_X
      @images[n].y = CRM_Gallery::Cur_Y
      @images[n].opacity = 100
    end
    @images[0] = Sprite.new
    @images[0].bitmap = Cache.gallery(@get_i[0])
    @images[0].opacity = 170
    update
  end
 
  #--------------------------------------------------------------------------
  # * Atualização da tela
  #--------------------------------------------------------------------------
  def update
    super
    return_scene && Sound.play_cancel if Input.trigger?(:B)
      for n in 1..4
        @reset >= CRM_Gallery::Time*3 ? @images[n].opacity = 0 : @images[n].opacity = 100
      end
      @reset >= CRM_Gallery::Time*3 ? @images[0].opacity = 0 : @images[0].opacity = 170
    unless @all_zoom
      if Input.press?(:UP) && @pic.y < -3
        @pic.y += 4
        @images[2].opacity = 255
      end
      if Input.press?(:DOWN) && @pic.y > Graphics.height - @pic.height
        @pic.y -= 4
        @images[1].opacity = 255
      end
      if Input.press?(:RIGHT) && @pic.x > Graphics.width - @pic.width
        @pic.x -= 4
        @images[3].opacity = 255
      end
      if Input.press?(:LEFT) && @pic.x < 0
        @pic.x += 4
        @images[4].opacity = 255
      end
      if Input.trigger?(:C)
        @all_zoom = true
        Sound.play_ok
        @pic.zoom_x = Graphics.width.to_f / @pic.width
        @pic.zoom_y = Graphics.height.to_f / @pic.height
        @pic.x = 0
        @pic.y = 0
      end
    else
      if Input.trigger?(:C)
        @all_zoom = false
        Sound.play_ok
        @pic.zoom_x = 1
        @pic.zoom_y = 1
        @pic.x = 272 - @pic.width/2
        @pic.y = 208 - @pic.height/2
      end
    end
    @images.each {|image| image.opacity == 255 ? @reset = 0 : @reset += 1}
  end
  #--------------------------------------------------------------------------
  # * Finalizando o processo
  #--------------------------------------------------------------------------
  def terminate
    super
    @pic.bitmap.dispose
    @pic.dispose
    @images.each {|image| image.bitmap.dispose ; image.dispose}
  end
end

if CRM_Gallery::Add
#==============================================================================
# ** Scene_Menu
#------------------------------------------------------------------------------
#  Esta classe executa o processamento da tela de menu.
#==============================================================================

class Scene_Menu < Scene_MenuBase
  def create_command_window
    @command_window = Window_MenuCommand.new
    @command_window.set_handler(:item,      method(:command_item))
    @command_window.set_handler(:skill,     method(:command_personal))
    @command_window.set_handler(:equip,     method(:command_personal))
    @command_window.set_handler(:status,    method(:command_personal))
    @command_window.set_handler(:gallery,  method(:command_gallery))
    @command_window.set_handler(:formation, method(:command_formation))
    @command_window.set_handler(:save,      method(:command_save))
    @command_window.set_handler(:game_end,  method(:command_game_end))
    @command_window.set_handler(:cancel,    method(:return_scene))
  end
  def command_gallery
    SceneManager.call(Scene_CRM_Gallery)
  end
end

#==============================================================================
# ** Window_MenuCommand
#------------------------------------------------------------------------------
#  Esta janela exibe os comandos do menu.
#==============================================================================
class Window_MenuCommand < Window_Command
alias raizen_add_main_commands add_main_commands
  def add_main_commands
    raizen_add_main_commands
    add_command(CRM_Gallery::Name, :gallery, main_commands_enabled)
  end
end
end
[close]

Bem ele fez com que meu projeto tivesse uma galeria porem eu so consigo chamar ela atras de um evento, Eu queria saber se tem como eu fazer isso atraves de um Intem  :será:  Tipo o jogador tem consigo um livro no inventario que toda hora que ele Usar, ele abre a galeria pra visualizar as Imagens  :clap: Alguem pode me explicar Uma forma de fazer Isso ?

É bem fácil amigo, crie um evento comum com o mesmo conteúdo (o que ativa o script) que tinha o script

Feito isso, escolha o item que quer, é só colocar consumir não, porque assim irá desaparecer e apagar algumas características desse item, feito isso vá à aba efeitos do lado direito, vá até à aba outro e coloque o evento comum que criou anteriormente, veja a imagem!


Entendi  :clap: Eu fiz Esses procedimentos e Fui ao teste e pelo que percebi so ocorreu um efeito de Fade
Na mais Ao criar o intem e usa-lo ele Não exibe a Galeria Eu usei o seguinte comando ne evento comum Script:SceneManage.call(Scene_CRM_Gallery) Porem Na ocorreu... Fiz o mesmo com um Npc Usando o comando Chamar Script e a Galeria Abriu Normalmente

Mas quando você abre o álbum pelo Item já tem uma imagem ativada por switch, certo? Porque pelo o que vi o álbum não abre se não houver imagens ativas.
Você adora as enormes árvores do XP? Você odeia as cores "datadas" delas? Que tal dar uma olhada no meu Remaster?

Você colocou a mesma coisa no evento e no evento comum? E ativou o evento comum pelo item?

Sim o mesmo script que ta no evento comum e coloquei ele no livro(galeria) e as imagens que vao ser exibidas na pasta do projeto

Então, ikaori, fiz como o Lima disse e funcionou direitinho.

Confere se tu fez tudo certo aí mesmo.
- Colocou as imagens dentro da pasta "Pasta do Projeto\Graphics\Gallery"
- Se o nome das imagens estão iguais no arquivo e no script.
- Se você ativou as switches que permitem a visualização das imagens.