Project1

标题: VX地图名自动显示怎么用啊? [打印本页]

作者: 剑在天涯    时间: 2008-8-29 01:44
标题: VX地图名自动显示怎么用啊?
我把VX地图名自动显示的脚本弄在了脚本编辑器那里,但我不知到怎么用啊! [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 木葬枫    时间: 2008-8-29 01:46
请问LZ用的是谁的版本?
[LINE]1,#dddddd[/LINE]
http://rpg.blue/viewthread.php?tid=99485
作者: 剑在天涯    时间: 2008-8-29 01:48
# ————————————————————————————————————
# 本脚本来自www.66rpg.com,转载和使用请保留此信息
# ————————————————————————————————————

#==============================================================================
# ■ 地图名显示脚本
#     by Yuee
#------------------------------------------------------------------------------
# 在Main的上方插入一个页,将本脚本复制到那页中即可
#==============================================================================

#==============================================================================
# ■ Window_MapName
#------------------------------------------------------------------------------
#  显示地图名字的窗口。
#==============================================================================

class Window_MapName < Window_Base
  #--------------------------------------------------------------------------
  # ● 类常量定义
  #--------------------------------------------------------------------------

  # 暂时屏蔽用的开关
  SWITCH = 6
  
  # 窗口位置设定
  NAME_X = 544-220      # 矩形左上顶点X坐标
  NAME_Y = 0       # 矩形左上顶点Y坐标
  NAME_W = 220      # 矩形宽
  NAME_H = 60       # 矩形高
   
  # 显示时间设置
  SHOW_TIME_0 = 10  # 地图名出现前等待的帧数
  SHOW_TIME_1 = 10  # 地图名从不可见变成可见的帧数
  SHOW_TIME_2 = 34  # 地图名完全可见的帧数
  SHOW_TIME_3 = 16  # 地图名从可见变成不可见的帧数
  
  # 完全可见时的透明度设置
  OPACITY_1 = 244   # 边框
  OPACITY_2 = 100   # 背景
  OPACITY_3 = 255   # 文字
  
  # 地图名字的颜色
  TEXT_COLOR = Color.new(255, 255, 255, 255)
   
  #--------------------------------------------------------------------------
  # ● 初始化状态
  #--------------------------------------------------------------------------
  def initialize
    super(NAME_X , NAME_Y, NAME_W, NAME_H)
    # 初始化窗口透明度
    self.opacity = 0
    self.back_opacity = 0
    self.z = 9999
    self.contents_opacity = 0
    self.contents = Bitmap.new(width - 32, height - 32)
    # 剩余帧数初始化
    @show_time = 0
  end
  #--------------------------------------------------------------------------
  # ● 输出文字
  #--------------------------------------------------------------------------
  def setname
    if $game_switches[SWITCH]
      # 获取地图ID
      newid = $game_map.map_id
      time = SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3  
      # 如果现在的地图的ID不是刚才显示的地图ID则开始显示
      if newid != @id
        @id = newid
        @show_time = SHOW_TIME_0 + SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3
      # 剩余帧数为0是时,全部窗口透明
      elsif @show_time < 1
        self.opacity = 0
        self.back_opacity = 0
        self.contents_opacity = 0
        return
      end      
      self.contents.clear
      self.contents.font.color = TEXT_COLOR
      # 描绘地图名
      self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name, 1)
      # 根本帧数设定窗口透明度
      if @show_time > (SHOW_TIME_2 + SHOW_TIME_3)
        self.opacity = @show_time < time ? (((OPACITY_1 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
        self.back_opacity = @show_time < time ? (((OPACITY_2 / SHOW_TIME_1 )* (time - @show_time)).to_i) : 0
        self.contents_opacity = @show_time < time ? (((OPACITY_3 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
      else
        self.opacity = @show_time < (SHOW_TIME_3 / 16 * 14) ? ((OPACITY_1 / SHOW_TIME_3) * @show_time).to_i : OPACITY_1
        self.back_opacity = @show_time < (SHOW_TIME_3 / 16 * 9) ? ((OPACITY_2 / SHOW_TIME_3) * @show_time).to_i : OPACITY_2
        self.contents_opacity = @show_time < SHOW_TIME_3 ? ((OPACITY_3 / SHOW_TIME_3)* @show_time).to_i : OPACITY_3
      end
      @show_time -= 1
      $game_switches[SWITCH] = false if @show_time < 0
    end
  end
end

#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
#  处理地图画面的类。(追加定义)
#==============================================================================

class Scene_Map
  alias smn_start start
  def start
    @mapname = Window_MapName.new
    smn_start
  end
  
  alias smn_dispose terminate
  def terminate
    smn_dispose
    @mapname.dispose
  end
  
  alias smn_update update
  def update
    smn_update
    @mapname.setname
  end
end

#==============================================================================
# ■ Scene_Title
#------------------------------------------------------------------------------
#  处理标题画面的类。(追加定义)
#==============================================================================

class Scene_Title
  alias smn_load load_database
  def load_database
    # 读取地图信息文件
    $data_mapinfos = load_data("Data/MapInfos.rvdata")
    smn_load
  end
end

#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================


作者: 木葬枫    时间: 2008-8-29 01:55
这个貌似不好的。请楼主使用这个,很华丽的说。
如果满意,请点击上面的认可答案。
[LINE]1,#dddddd[/LINE]
http://rpg.blue/viewthread.php?tid=99485
作者: 剑在天涯    时间: 2008-8-29 02:04
.....游戏进不去,用了这个脚本,一进去就说找不到Graphics/system/Book_skin 文件。
作者: 木葬枫    时间: 2008-8-29 02:06
那是默认的窗口文件。
你   Book_skin  改成  windoe.png .
在脚本的头几行那里······· [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 剑在天涯    时间: 2008-8-29 02:12
多谢了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1