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

como usa o mapa de plano de fundo nas batalhas?

Iniciado por Jao da quitanda, 26/10/2020 às 14:30

Bom dia rapaziada, como faço para usar o mapa como plano de fundo nas batalhas do Rpg maker VX ACE? 

Sabe aquela imagem distorcida que aparece como fundo se você não configurar nenhuma outra? Aquilo é um print que o Ace tira do mapa, mas rotacionado e com algum desfoque. Tudo o que você precisa fazer é retirar essa alteração na imagem com um código bem simples:

#==============================================================================
# ** Spriteset_Battle
#------------------------------------------------------------------------------
#  This class brings together battle screen sprites. It's used within the
# Scene_Battle class.
#==============================================================================

class Spriteset_Battle
  #--------------------------------------------------------------------------
  # * Create Battle Background Bitmap from Processed Map Screen
  #--------------------------------------------------------------------------
  def create_blurry_background_bitmap
    #source = SceneManager.background_bitmap
    bitmap = Bitmap.new(544, 228)
    #bitmap.stretch_blt(bitmap.rect, source, source.rect)
    #bitmap.border_fill(color = Color.new(255,255,255))
    #bitmap.blur
    #bitmap
  end
end


Este código transforma as linhas que editam o pano de fundo em comentários, assim o jogo irá ignorá-las e executar apenas o comando que cria o print.

26/10/2020 às 15:03 #2 Última edição: 26/10/2020 às 15:06 por Gabriel
Corvo, esse é o create_blurry_background_bitmap original? Criei um projeto limpo aqui para fazer o script e o método é um pouco diferente. Veja:
  def create_blurry_background_bitmap
    source = SceneManager.background_bitmap
    bitmap = Bitmap.new(640, 480)
    bitmap.stretch_blt(bitmap.rect, source, source.rect)
    bitmap.radial_blur(120, 16)
    bitmap
  end


De qualquer forma, removendo as linhas que você comentou faria o método retornar apenas um bitmap vazio.


Jao da quitanda, o Maker já adiciona o mapa como fundo de batalha por padrão quando você não define nenhum battleback para a batalha. O problema é que ele adiciona dois efeitos de blur ao fundo.

Poderíamos resolver isso comentando apenas a linha bitmap.radial_blur(120, 16), porém o método SceneManager.background_bitmap já adiciona, por si só, um blur a imagem.

Fiz o código pra simplificar as coisas pra você, só precisa adicionar como um script adicional em seu projeto.  :ok:

#===============================================================
# Battle Map Background
#===============================================================

module SceneManager
  
  @battle_background = nil
  
  def self.snapshot_for_battle_background
    @battle_background.dispose if @battle_background
    @battle_background = Graphics.snap_to_bitmap
  end

  def self.battle_background
    @battle_background
  end
  
end # SceneManager

class Spriteset_Battle
  
  def create_blurry_background_bitmap
    source = SceneManager.battle_background
    bitmap = Bitmap.new(Graphics.width, Graphics.height)
    bitmap.stretch_blt(bitmap.rect, source, source.rect)
    bitmap
  end
  
end # Spriteset_Battle

class Scene_Map
  
  alias bmb_sm_terminate terminate
  def terminate
    SceneManager.snapshot_for_battle_background
    bmb_sm_terminate
  end
  
end # Scene_Map




 Gabriel hoje fui usar seu script e meio que não funciono não sei o porque, testei em batalha e apareceu um background de neve mesmo eu tendo colocado pra não ter background. por que tá dando errado?

Só vendo o estado do projeto para saber. Pode mostrar alguns prints das configurações do mapa?