| 
 
| 赞 | 0 |  
| VIP | 0 |  
| 好人卡 | 3 |  
| 积分 | 1 |  
| 经验 | 1416 |  
| 最后登录 | 2014-7-14 |  
| 在线时间 | 276 小时 |  
 Lv1.梦旅人 天才琪露诺 
	梦石0 星屑54 在线时间276 小时注册时间2013-6-24帖子1741 | 
| LZ若想弄成那样的 就把显示名称哪里改为复制代码# encoding: utf-8
#==============================================================================
# ** Window_MapNamePlus
#------------------------------------------------------------------------------
#  This window displays the map name.
#------------------------------------------------------------------------------
#  使用方法:
#    新建脚本页,复制粘贴
#    在“Scene_Map”中找到“Window_MapName.new”,改成"Window_MapNamePlus.new"(大概在
#     159行左右)
#    在地图属性的设置窗口,“显示名称”中的地图名格式:“中文名@EnglishName”,即用“@”分割中文
#     和英文地图名
#==============================================================================
class Window_MapNamePlus < Window_Base
  #--------------------------------------------------------------------------
  # * Settings
  #--------------------------------------------------------------------------
  FONT_NAME_CH = ["黑体"]       # Chinese Font Name
  FONT_SIZE_CH = 28                             # Chinese Font Size
  FONT_NAME_EN = ["Monotype Corsiva","宋体"]           # English Font Name
  FONT_SIZE_EN = 18                             # English Font Size
  FONT_BOLD    = true                          # True if Font in Bold
  FONT_COLOR   = Color.new(255, 255, 255, 255)  # Color of Font
  FONT_OUT     = true                           # True if Font Has Outline
  OUT_COLOR    = Color.new(0, 0, 0, 200)        # Color of Outline Color of Font
  FONT_SHADOW  = true                          # True if Text Drops Shadow
  MODIFIER     = "~"                            # Modifier Added beside Map Name
  PADDING      = 8                              # Padding between Window's Frame and Contents
  LINE_HEIGHT  = 6                              # Height of Split Line
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_reader :map_name_ch                      # Chinese Map Name
  attr_reader :map_name_en                      # English Map Name
  attr_reader :line_x                           # Split Line X Coordinate
  attr_reader :line_y                           # Split Line Y Coordinate
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    #----------------------------------------------------------------------
    # * Set the window in the middle of screen.
    #----------------------------------------------------------------------
    super(((Graphics.width - window_width) / 2),
      ((Graphics.height - (FONT_SIZE_CH + FONT_SIZE_EN + PADDING * 4 + LINE_HEIGHT)) / 2 - 180),
      window_width, FONT_SIZE_CH + FONT_SIZE_EN + PADDING * 4 + LINE_HEIGHT)
    #----------------------------------------------------------------------
    # * Custom font and style.
    #----------------------------------------------------------------------
    contents.font.bold      = FONT_BOLD
    contents.font.color     = FONT_COLOR
    contents.font.outline   = FONT_OUT
    contents.font.out_color = OUT_COLOR
    contents.font.shadow    = FONT_SHADOW
    #----------------------------------------------------------------------
    # * Set Window Opacity
    #----------------------------------------------------------------------
    self.opacity = 0
    self.contents_opacity = 0
    @show_count = 0
    refresh
  end
  #--------------------------------------------------------------------------
  # * Get Window Width
  #--------------------------------------------------------------------------
  def window_width
    return Graphics.width
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    if @show_count > 0 && $game_map.name_display
      update_fadein
      @show_count -= 1
    else
      update_fadeout
    end
  end
  #--------------------------------------------------------------------------
  # * Update Fadein
  #--------------------------------------------------------------------------
  def update_fadein
    self.contents_opacity += 16
  end
  #--------------------------------------------------------------------------
  # * Update Fadeout
  #--------------------------------------------------------------------------
  def update_fadeout
    self.contents_opacity -= 16
  end
  #--------------------------------------------------------------------------
  # * Open Window
  #--------------------------------------------------------------------------
  def open
    refresh
    @show_count = 150
    self.contents_opacity = 0
    self
  end
  #--------------------------------------------------------------------------
  # * Close Window
  #--------------------------------------------------------------------------
  def close
    @show_count = 0
    self
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    contents.clear
    set_map_name
    unless $game_map.display_name.empty?
      draw_map_name
    end
  end
  #--------------------------------------------------------------------------
  # * Draw Line
  #--------------------------------------------------------------------------
  def draw_line(rect)
    temp_rect = rect.clone
    temp_rect.height = LINE_HEIGHT
    temp_rect.width /= 4
    contents.gradient_fill_rect(temp_rect, color2, color1)
    temp_rect.x += temp_rect.width
    temp_rect.width *= 2
    contents.fill_rect(temp_rect, color1)
    temp_rect.x += temp_rect.width
    temp_rect.width /= 2
    contents.gradient_fill_rect(temp_rect, color1, color2)
  end
  #--------------------------------------------------------------------------
  # * Set Map Name
  #--------------------------------------------------------------------------
  def set_map_name
    temp_map_name = $game_map.display_name.split("@")
    @map_name_ch  = temp_map_name[0].to_s
    @map_name_en  = MODIFIER + " " + temp_map_name[1].to_s + " " + MODIFIER
  end
  #--------------------------------------------------------------------------
  # * Draw Map Name
  #--------------------------------------------------------------------------
  def draw_map_name
    set_line_position
    set_line_width
    temp_line_rect = Rect.new(@line_x, @line_y, set_line_width, LINE_HEIGHT)
    draw_line(temp_line_rect)
    temp_name_rect_ch = Rect.new(0, 0, contents.width, FONT_SIZE_CH)
    contents.font.name = FONT_NAME_CH
    contents.font.size = FONT_SIZE_CH
    draw_text(temp_name_rect_ch, @map_name_ch, 1)
    temp_name_rect_en = Rect.new(0, FONT_SIZE_CH, contents.width, FONT_SIZE_EN)
    contents.font.size = FONT_SIZE_EN
    contents.font.name = FONT_NAME_EN
    draw_text(temp_name_rect_en, @map_name_en, 1)
  end
  #--------------------------------------------------------------------------
  # * Set Line Width
  #--------------------------------------------------------------------------
  def set_line_width
    text_width_ch = text_size(@map_name_ch).width * 1.5
    text_width_en = text_size(@map_name_en).width * 1.5
    (text_width_ch >= text_width_en) ?
      (text_width_ch) : (text_width_en)
  end
  #--------------------------------------------------------------------------
  # * Set Line Position
  #--------------------------------------------------------------------------
  def set_line_position
    @line_x = (contents.width - set_line_width) / 2
    @line_y = (contents.height - LINE_HEIGHT) / 2
  end
  #--------------------------------------------------------------------------
  # * Get Color 1
  #--------------------------------------------------------------------------
  def color1
    Color.new(255, 255, 255, 255)
  end
  #--------------------------------------------------------------------------
  # * Get Color 2
  #--------------------------------------------------------------------------
  def color2
    Color.new(255, 255, 255, 0)
  end
end
不知名之地@A Nameless Area
 这个脚本应该还有其他功能 请LZ自己研究← ←。
 | 
 评分
查看全部评分
 |