设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1853|回复: 1
打印 上一主题 下一主题

[已经解决] 请问怎么暂时地图名字

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
27 小时
注册时间
2014-3-5
帖子
26
跳转到指定楼层
1
发表于 2014-3-31 22:57:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 LLL1113 于 2014-4-1 13:35 编辑

我在论坛找到了一个显示地图名的脚本,但是在游戏开始时也会显示工程里的地图名,请问有没有暂时隐藏地图名的方法,也就是说在开始游戏的那个地图不要显示地图名,下面是我出现的问提和用到的脚本
# ————————————————————————————————————

# 本脚本来自http://www.66rpg.com/,转载自http://www.phylomortis.com/,转载请保留此信息

# ————————————————————————————————————



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

# ■ Window_MapName

#------------------------------------------------------------------------------

#  显示地图名字的窗口。

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



class Window_MapName < Window_Base

  #--------------------------------------------------------------------------

  # ● 类常量定义

  #--------------------------------------------------------------------------



  # 窗口位置设定

  NAME_X = 210                  # 矩形左上顶点X坐标

  NAME_Y = 180             # 矩形左上顶点Y坐标

  NAME_W = 220          # 矩形宽

  NAME_H = 80           # 矩形高

  

  # 显示时间设置

  SHOW_TIME_0 = 10  # 地图名出现前等待的帧数

  SHOW_TIME_1 = 10  # 地图名从不可见变成可见的帧数

  SHOW_TIME_2 = 34  # 地图名完全可见的帧数

  SHOW_TIME_3 = 16  # 地图名从可见变成不可见的帧数

  

  # 完全可见时的透明度设置

  OPACITY_1 = 0   # 边框

  OPACITY_2 = 0   # 背景

  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.contents_opacity = 0

    self.contents = Bitmap.new(width - 32, height - 32)

    # 剩余帧数初始化

    @show_time = 0

  end

  #--------------------------------------------------------------------------

  # ● 输出文字

  #--------------------------------------------------------------------------

  def setname



    # 获取地图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.font.size = 22

    self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name.split(/#/)[0], 1)

    self.contents.font.size = 15

    self.contents.draw_text(4, 0 , width - 40, 62, "------------------------", 1)

    self.contents.draw_text(4, 0 , width - 40, 81, $data_mapinfos[@id].name.split(/#/)[1], 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

  end

end



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

# ■ Scene_Map

#------------------------------------------------------------------------------

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

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



class Scene_Map

  alias smn_main main

  def main

    @mapname = Window_MapName.new

    smn_main

    @mapname.dispose

  end

  

  alias smn_update update

  def update

    @mapname.setname

    smn_update

  end

end



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

# ■ Scene_Title

#------------------------------------------------------------------------------

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

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



class Scene_Title

  alias smn_main main

  def main

    # 读取地图信息文件

    $data_mapinfos = load_data("Data/MapInfos.rxdata")

    smn_main

  end

end

1111.png (12.88 KB, 下载次数: 2)

1111.png

点评

新人请看这篇规定,不要自己编辑标签:http://bbs.66rpg.com/thread-325409-1-1.html  发表于 2014-4-1 17:27

评分

参与人数 1星屑 -10 收起 理由
怪蜀黍 -10 违规编辑标签,已经对新人从轻处罚.

查看全部评分

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

2
发表于 2014-4-1 12:43:55 | 只看该作者
已经增加了所需功能,默认打开1号开关,地图名不会出现。可以更改此设置。
另外下次发代码尽量使用代码框。
  1. # ————————————————————————————————————

  2. # 本脚本来自http://www.66rpg.com/,转载自http://www.phylomortis.com/,转载请保留此信息

  3. # ————————————————————————————————————

  4. # 默认打开1号开关,地图名不会显示,如果需要更改,就改成下面那个1
  5. NO_MAP_WINDOW = 1

  6. #==============================================================================

  7. # ■ Window_MapName

  8. #------------------------------------------------------------------------------

  9. #  显示地图名字的窗口。

  10. #==============================================================================



  11. class Window_MapName < Window_Base

  12.   #--------------------------------------------------------------------------

  13.   # ● 类常量定义

  14.   #--------------------------------------------------------------------------



  15.   # 窗口位置设定

  16.   NAME_X = 210                  # 矩形左上顶点X坐标

  17.   NAME_Y = 180             # 矩形左上顶点Y坐标

  18.   NAME_W = 220          # 矩形宽

  19.   NAME_H = 80           # 矩形高

  20.   

  21.   # 显示时间设置

  22.   SHOW_TIME_0 = 10  # 地图名出现前等待的帧数

  23.   SHOW_TIME_1 = 10  # 地图名从不可见变成可见的帧数

  24.   SHOW_TIME_2 = 34  # 地图名完全可见的帧数

  25.   SHOW_TIME_3 = 16  # 地图名从可见变成不可见的帧数

  26.   

  27.   # 完全可见时的透明度设置

  28.   OPACITY_1 = 0   # 边框

  29.   OPACITY_2 = 0   # 背景

  30.   OPACITY_3 = 255   # 文字

  31.   

  32.   # 地图名字的颜色

  33.   TEXT_COLOR = Color.new(255, 255, 255, 255)

  34.    

  35.   #--------------------------------------------------------------------------

  36.   # ● 初始化状态

  37.   #--------------------------------------------------------------------------

  38.   def initialize

  39.     super(NAME_X , NAME_Y, NAME_W, NAME_H)

  40.     # 修改
  41.     if $game_switches[NO_MAP_WINDOW]
  42.       self.visible = false
  43.     else
  44.       self.visible = true
  45.     end
  46.     # 修改完毕

  47.     # 初始化窗口透明度

  48.     self.opacity = 0

  49.     self.back_opacity = 0

  50.     self.contents_opacity = 0

  51.     self.contents = Bitmap.new(width - 32, height - 32)

  52.     # 剩余帧数初始化

  53.     @show_time = 0

  54.   end

  55.   #--------------------------------------------------------------------------

  56.   # ● 输出文字

  57.   #--------------------------------------------------------------------------

  58.   def setname

  59.     # 获取地图ID

  60.     newid = $game_map.map_id

  61.     time = SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3



  62.     # 如果现在的地图的ID不是刚才显示的地图ID则开始显示

  63.     if newid != @id

  64.       @id = newid

  65.       @show_time = SHOW_TIME_0 + SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3

  66.     # 剩余帧数为0是时,全部窗口透明

  67.     elsif @show_time < 1

  68.       self.opacity = 0

  69.       self.back_opacity = 0

  70.       self.contents_opacity = 0

  71.       return

  72.     end

  73.    

  74.     self.contents.clear

  75.     self.contents.font.color = TEXT_COLOR

  76.     # 描绘地图名



  77.    

  78.     self.contents.font.size = 22

  79.     self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name.split(/#/)[0], 1)

  80.     self.contents.font.size = 15

  81.     self.contents.draw_text(4, 0 , width - 40, 62, "------------------------", 1)

  82.     self.contents.draw_text(4, 0 , width - 40, 81, $data_mapinfos[@id].name.split(/#/)[1], 1)

  83.    

  84.     # 根本帧数设定窗口透明度

  85.     if @show_time > (SHOW_TIME_2 + SHOW_TIME_3)

  86.       self.opacity = @show_time < time ? (((OPACITY_1 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0

  87.       self.back_opacity = @show_time < time ? (((OPACITY_2 / SHOW_TIME_1 )* (time - @show_time)).to_i) : 0

  88.       self.contents_opacity = @show_time < time ? (((OPACITY_3 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0

  89.     else

  90.       self.opacity = @show_time < (SHOW_TIME_3 / 16 * 14) ? ((OPACITY_1 / SHOW_TIME_3) * @show_time).to_i : OPACITY_1

  91.       self.back_opacity = @show_time < (SHOW_TIME_3 / 16 * 9) ? ((OPACITY_2 / SHOW_TIME_3) * @show_time).to_i : OPACITY_2

  92.       self.contents_opacity = @show_time < SHOW_TIME_3 ? ((OPACITY_3 / SHOW_TIME_3)* @show_time).to_i : OPACITY_3

  93.     end

  94.    

  95.     @show_time -= 1

  96.   end

  97.   # 重写 update 方法
  98.   def update
  99.     super
  100.     if $game_switches[NO_MAP_WINDOW]
  101.       self.visible = false
  102.     else
  103.       self.visible = true
  104.     end
  105.     self.setname
  106.   end



  107. end



  108. #==============================================================================

  109. # ■ Scene_Map

  110. #------------------------------------------------------------------------------

  111. #  处理地图画面的类。(追加定义)

  112. #==============================================================================



  113. class Scene_Map

  114.   alias smn_main main

  115.   def main

  116.     @mapname = Window_MapName.new

  117.     smn_main

  118.     @mapname.dispose

  119.   end

  120.   

  121.   alias smn_update update

  122.   def update

  123.     @mapname.update

  124.     smn_update

  125.   end

  126. end



  127. #==============================================================================

  128. # ■ Scene_Title

  129. #------------------------------------------------------------------------------

  130. #  处理标题画面的类。(追加定义)

  131. #==============================================================================



  132. class Scene_Title

  133.   alias smn_main main

  134.   def main

  135.     # 读取地图信息文件

  136.     $data_mapinfos = load_data("Data/MapInfos.rxdata")

  137.     smn_main

  138.   end

  139. end
复制代码

点评

太感谢你啦!还有谢谢你好心提醒  发表于 2014-4-1 13:34

评分

参与人数 1星屑 +100 收起 理由
怪蜀黍 + 100 认可答案

查看全部评分

回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-22 06:52

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表