Advertisement
KingGerar

Kingdom Map Name

Apr 18th, 2014
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 8.56 KB | None | 0 0
  1. #==============================================================================
  2. # Kingdom Map Name
  3. # por King Gerar
  4. #------------------------------------------------------------------------------
  5. # Este script faz alterações na exibição do nome do mapa que é mostrado ao
  6. # entrar em um novo mapa.
  7. # Requere Kingdom Módulo v 1.0 ou mais recente.
  8. #==============================================================================
  9. # Módulo KConfig_11
  10. #------------------------------------------------------------------------------
  11. # - Este módulo serve para você fazer as configurações específicas e restritas
  12. # à este script.
  13. #==============================================================================
  14. module KConfig_11
  15.   # Largura da janela
  16.   Wdw_Weight = 180
  17.  
  18.   # Usar imagem ao invés da janela?
  19.   # true = sim ou false = não
  20.   # Caso use, escreva o nome da imagem e ela deverá estar na pasta
  21.   # "Graphics/System" e ter o tamanho de 64x180 (Padrão). Caso prefira não
  22.   # usar, defina a opacidade da janela. Para não ver a janela, coloque 0.
  23.   Use_Img = false
  24.   Back_Img = "MapName Layout"
  25.   Wdw_Opacity = 255
  26.  
  27.   # Position pode ter valor 0, 1, 2, 3, 4, 5 ou 6.
  28.   # Define a posição onde aparecerá o nome do mapa, sendo 0 = centro da tela,
  29.   # 1 = superior-esquerda, 2 = superior-centro, 3 = superior=direita,
  30.   # 4 = inferior-esquerda, 5 = inferior-centro e 6 = inferior-direita.
  31.   Position = 0
  32.  
  33.   # Velocidade em que o nome aparece/desaparece. Padrão = 16
  34.   Show_Speed = 16
  35.  
  36.   # Tempo que o nome do mapa fica na tela.
  37.   # Valor em frames. Padrão = 150
  38.   Show_Time = 150
  39.  
  40.   # Cor da linha que fica sob o nome do mapa.
  41.   # Valores de 0 a 255 em (R, G, B, opacidade)
  42.   Line_Color = Color.new(255, 255, 255, 150)
  43. end
  44. #==============================================================================
  45. # Scene_Map
  46. #------------------------------------------------------------------------------
  47. # Esta classe executa o processamento da tela de mapa.
  48. #==============================================================================
  49. class Scene_Map < Scene_Base
  50.   #--------------------------------------------------------------------------
  51.   # Criação da janela de nome do mapa
  52.   #--------------------------------------------------------------------------
  53.   def create_location_window
  54.     @map_name_window = Window_KMapName.new
  55.   end
  56. end
  57. #==============================================================================
  58. class Window_KMapName < Window_Base
  59.   include KConfig_11
  60.   #--------------------------------------------------------------------------
  61.   # * Inicialização do objeto
  62.   #--------------------------------------------------------------------------
  63.   def initialize
  64.     super(0, 0, window_width, window_height)
  65.     self.x = x_begin
  66.     self.y = y_begin
  67.     if Use_Img == true
  68.       @mapname_layout = Sprite.new
  69.         @mapname_layout.bitmap = Cache.system(Back_Img)
  70.       @mapname_layout.x = x_begin
  71.       @mapname_layout.y = y_begin
  72.       @mapname_layout.opacity = 0
  73.     else
  74.       self.windowskin = Cache.system(KMain_Config::Window_Main)
  75.     end
  76.     self.opacity = 0
  77.     self.contents_opacity = 0
  78.     self.change_color(KMain_Config::Color_MainText)
  79.     self.contents.font.name = KMain_Config::Font_Main
  80.       self.contents.font.size = KMain_Config::Font_Size
  81.     @show_count = 0
  82.     refresh
  83.   end
  84.   #--------------------------------------------------------------------------
  85.   # Aquisição da largura da janela
  86.   #--------------------------------------------------------------------------
  87.   def window_width
  88.     return Wdw_Weight
  89.   end
  90.   #--------------------------------------------------------------------------
  91.   # Aquisição da altura da janela
  92.   #--------------------------------------------------------------------------
  93.   def window_height
  94.     return 64
  95.   end
  96.   #--------------------------------------------------------------------------
  97.   # Cálculo da posição x da janela.
  98.   #--------------------------------------------------------------------------
  99.   def x_begin
  100.     case Position
  101.     when 0
  102.       (Graphics.width - window_width) / 2
  103.     when 1
  104.       return 0
  105.     when 2
  106.       (Graphics.width - window_width) / 2
  107.     when 3
  108.       Graphics.width - window_width
  109.     when 4
  110.       return 0
  111.     when 5
  112.       (Graphics.width - window_width) / 2
  113.     when 6
  114.       Graphics.width - window_width
  115.     end
  116.   end
  117.   #--------------------------------------------------------------------------
  118.   # Cálculo da posição y da janela.
  119.   #--------------------------------------------------------------------------
  120.   def y_begin
  121.     case Position
  122.     when 0
  123.       (Graphics.height - window_height) / 2
  124.     when 1
  125.       return 0
  126.     when 2
  127.       return 0
  128.     when 3
  129.       return 0
  130.     when 4
  131.       Graphics.height - window_height
  132.     when 5
  133.       Graphics.height - window_height
  134.     when 6
  135.       Graphics.height - window_height
  136.     end
  137.   end
  138.   #--------------------------------------------------------------------------
  139.   # Cálculo da posição do texto.
  140.   #--------------------------------------------------------------------------
  141.   def mapname_text_y
  142.     if $game_map.note == ""
  143.       return 9
  144.     else
  145.       return -1
  146.     end
  147.   end
  148.   #--------------------------------------------------------------------------
  149.   # * Atualização da tela
  150.   #--------------------------------------------------------------------------
  151.   def update
  152.     super
  153.     if @show_count > 0 && $game_map.name_display
  154.       update_fadein
  155.       @show_count -= 1
  156.     else
  157.       update_fadeout
  158.     end
  159.   end
  160.   #--------------------------------------------------------------------------
  161.   # * Atualização do efeito de fade in
  162.   #--------------------------------------------------------------------------
  163.   def update_fadein
  164.     self.contents_opacity += Show_Speed
  165.     if Use_Img == true
  166.       @mapname_layout.opacity += Show_Speed
  167.     else
  168.       self.opacity += Show_Speed if self.opacity <= Wdw_Opacity
  169.     end
  170.   end
  171.   #--------------------------------------------------------------------------
  172.   # * Atualização do efeito de fade out
  173.   #--------------------------------------------------------------------------
  174.   def update_fadeout
  175.     self.contents_opacity -= Show_Speed
  176.     if Use_Img == true
  177.       @mapname_layout.opacity -= Show_Speed
  178.     else
  179.       self.opacity -= Show_Speed if self.opacity <= Wdw_Opacity
  180.     end
  181.   end
  182.   #--------------------------------------------------------------------------
  183.   # Abertura da janela
  184.   #--------------------------------------------------------------------------
  185.   def open
  186.     refresh
  187.     @show_count = Show_Time
  188.     self.contents_opacity = 0
  189.     self
  190.   end
  191.   #--------------------------------------------------------------------------
  192.   # * Fechamento da janela
  193.   #--------------------------------------------------------------------------
  194.   def close
  195.     @show_count = 0
  196.     self
  197.   end
  198.   #--------------------------------------------------------------------------
  199.   # * Renovação
  200.   #--------------------------------------------------------------------------
  201.   def refresh
  202.     contents.clear
  203.     unless $game_map.display_name.empty?
  204.       self.contents.font.size = KMain_Config::Font_Size
  205.       self.change_color(KMain_Config::Color_MainText)
  206.       draw_text(0, mapname_text_y, window_width - 23, line_height, $game_map.display_name, 1)
  207.       draw_hr(0, mapname_text_y + 21, window_width) if $game_map.note != ""
  208.       self.contents.font.size = KMain_Config::Font_Size - 3
  209.       self.change_color(KMain_Config::Color_AltText)
  210.       draw_text(0, mapname_text_y + 19, window_width - 23, line_height, $game_map.note, 1)
  211.     end
  212.   end
  213.   #--------------------------------------------------------------------------
  214.   # Desenho de uma linha horzontal.
  215.   #--------------------------------------------------------------------------
  216.   def draw_hr(x, y, self_width)
  217.     line_y = y + line_height / 2 - 1
  218.     contents.fill_rect(x, y, self_width, 1, Line_Color)
  219.   end
  220. end
  221. #==============================================================================
  222. # Game_Map
  223. #------------------------------------------------------------------------------
  224. # Esta classe gerencia o mapa. Inclui funções de rolagem e definição de
  225. # passagens. A instância desta classe é referenciada por $game_map.
  226. #==============================================================================
  227. class Game_Map
  228.   #--------------------------------------------------------------------------
  229.   # Nota dos mapas.
  230.   #--------------------------------------------------------------------------
  231.   def note
  232.     @map.note
  233.   end
  234. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement