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

Project1

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

地图名字问题

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-5-2
帖子
76
跳转到指定楼层
1
发表于 2009-5-18 00:34:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

Lv1.梦旅人

v

梦石
0
星屑
50
在线时间
55 小时
注册时间
2007-12-19
帖子
99
2
发表于 2009-5-18 00:45:27 | 只看该作者
把地图窗口改成全局变量就可以了
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================


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

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

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

# 暂时屏蔽用的开关
SWITCH = 35

# 窗口位置设定
NAME_X = 380      # 矩形左上顶点X坐标
NAME_Y = 20       # 矩形左上顶点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 = 144   # 背景
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   
   unless $game_switches[SWITCH]==true
     # 获取地图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
   end
end
end

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

class Scene_Map
alias smn_main main
def main
   $mapname = Window_MapName.new if $mapname == nil || $mapname.disposed?
   smn_main
   $mapname.visible = false
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

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

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2009-5-16
帖子
12
3
发表于 2009-5-18 00:46:02 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
41 小时
注册时间
2008-3-5
帖子
2072
4
发表于 2009-5-18 00:49:03 | 只看该作者
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================


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

  10. #==============================================================================
  11. # ■ Window_MapName
  12. #------------------------------------------------------------------------------
  13. #  显示地图名字的窗口。
  14. #==============================================================================

  15. class Window_MapName < Window_Base
  16. #--------------------------------------------------------------------------
  17. # ● 类常量定义
  18. #--------------------------------------------------------------------------

  19. # 暂时屏蔽用的开关
  20. SWITCH = 35

  21. # 窗口位置设定
  22. NAME_X = 380      # 矩形左上顶点X坐标
  23. NAME_Y = 20       # 矩形左上顶点Y坐标
  24. NAME_W = 220      # 矩形宽
  25. NAME_H = 60       # 矩形高

  26. # 显示时间设置
  27. SHOW_TIME_0 = 10  # 地图名出现前等待的帧数
  28. SHOW_TIME_1 = 10  # 地图名从不可见变成可见的帧数
  29. SHOW_TIME_2 = 34  # 地图名完全可见的帧数
  30. SHOW_TIME_3 = 16  # 地图名从可见变成不可见的帧数

  31. # 完全可见时的透明度设置
  32. OPACITY_1 = 244   # 边框
  33. OPACITY_2 = 144   # 背景
  34. OPACITY_3 = 255   # 文字

  35. # 地图名字的颜色
  36. TEXT_COLOR = Color.new(255, 255, 255, 255)
  37.   
  38. #--------------------------------------------------------------------------
  39. # ● 初始化状态
  40. #--------------------------------------------------------------------------
  41. def initialize
  42.    super(NAME_X , NAME_Y, NAME_W, NAME_H)
  43.    # 初始化窗口透明度
  44.    self.opacity = 0
  45.    self.back_opacity = 0
  46.    self.contents_opacity = 0
  47.    self.contents = Bitmap.new(width - 32, height - 32)
  48.    # 剩余帧数初始化
  49.    @show_time = 0
  50. end
  51. #--------------------------------------------------------------------------
  52. # ● 输出文字
  53. #--------------------------------------------------------------------------
  54. def setname   
  55.    unless $game_switches[SWITCH]==true
  56.      # 获取地图ID
  57.      newid = $game_map.map_id
  58.      time = SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3  
  59.      # 如果现在的地图的ID不是刚才显示的地图ID则开始显示
  60.      if newid != @id
  61.        @id = newid
  62.        @show_time = SHOW_TIME_0 + SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3
  63.      # 剩余帧数为0是时,全部窗口透明
  64.      elsif @show_time < 1
  65.        self.opacity = 0
  66.        self.back_opacity = 0
  67.        self.contents_opacity = 0
  68.        return
  69.      end      
  70.      self.contents.clear
  71.      self.contents.font.color = TEXT_COLOR
  72.      # 描绘地图名
  73.      self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name, 1)
  74.      # 根本帧数设定窗口透明度
  75.      if @show_time > (SHOW_TIME_2 + SHOW_TIME_3)
  76.        self.opacity = @show_time < time ? (((OPACITY_1 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  77.        self.back_opacity = @show_time < time ? (((OPACITY_2 / SHOW_TIME_1 )* (time - @show_time)).to_i) : 0
  78.        self.contents_opacity = @show_time < time ? (((OPACITY_3 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  79.      else
  80.        self.opacity = @show_time < (SHOW_TIME_3 / 16 * 14) ? ((OPACITY_1 / SHOW_TIME_3) * @show_time).to_i : OPACITY_1
  81.        self.back_opacity = @show_time < (SHOW_TIME_3 / 16 * 9) ? ((OPACITY_2 / SHOW_TIME_3) * @show_time).to_i : OPACITY_2
  82.        self.contents_opacity = @show_time < SHOW_TIME_3 ? ((OPACITY_3 / SHOW_TIME_3)* @show_time).to_i : OPACITY_3
  83.      end      
  84.      @show_time -= 1
  85.    end
  86. end
  87. end

  88. #==============================================================================
  89. # ■ Scene_Map
  90. #------------------------------------------------------------------------------
  91. #  处理地图画面的类。(追加定义)
  92. #==============================================================================

  93. class Scene_Map
  94. alias smn_main main
  95. def main
  96.    $map_id = -1 if $map_id == nil
  97.    if $game_map.id != $map_id
  98.      $map_id = $game_map.id
  99.      @mapname = Window_MapName.new
  100.      smn_main
  101.      @mapname.dispose
  102.      @mapname = nil
  103.    else
  104.      smn_main
  105.    end
  106. end

  107. alias smn_update update
  108. def update
  109.    @mapname.setname if @mapname
  110.    smn_update
  111. end
  112. end

  113. #==============================================================================
  114. # ■ Scene_Title
  115. #------------------------------------------------------------------------------
  116. #  处理标题画面的类。(追加定义)
  117. #==============================================================================

  118. class Scene_Title
  119. alias smn_main main
  120. def main
  121.    # 读取地图信息文件
  122.    $data_mapinfos = load_data("Data/MapInfos.rxdata")
  123.    smn_main
  124. end
  125. end

  126. #==============================================================================
  127. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  128. #==============================================================================
复制代码
你它囧一字母君谁记得……
当时那把剑离我的喉咙只有0.01工分。可是一柱香之后,这个女主人会深深的爱上我,虽然本人平生说了无数的谎话,可是这句最有效:“你应该这么做,我也应该死。
曾经有一取ID的机会放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。你的剑在我的咽喉上割下去吧!不用再犹豫了!如果上天能够给我一个再来一次的机会,我绝对会取个汉字君。如果非要给这ID加点修饰的话,我希望是……红色加粗……

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦·贤者

梦石
0
星屑
50
在线时间
1141 小时
注册时间
2007-12-15
帖子
4100
5
发表于 2009-5-18 01:01:51 | 只看该作者
我能提供BUG么?

就是在地图1打开菜单,然后退出菜单,然后场所移动到地图2,就不显示地图名了= =
http://rpg.blue/home.php?mod=space&uid=34951&do=blog&id=12799
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
41 小时
注册时间
2008-3-5
帖子
2072
6
发表于 2009-5-18 01:06:13 | 只看该作者
。。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦·贤者

梦石
0
星屑
50
在线时间
1141 小时
注册时间
2007-12-15
帖子
4100
7
发表于 2009-5-18 01:11:24 | 只看该作者
工程在此:
http://rpg.blue/upload_program/d/tommay_Project6_123008996.rar

操作方法:
先随便场景移动无所谓,到一个地图之后按ESC,然后再按ESC,再场所移动,再也出现不了地图名了。。。orz

Hit君请指教{/hx}
http://rpg.blue/home.php?mod=space&uid=34951&do=blog&id=12799
回复 支持 反对

使用道具 举报

Lv1.梦旅人

v

梦石
0
星屑
50
在线时间
55 小时
注册时间
2007-12-19
帖子
99
8
发表于 2009-5-18 01:13:16 | 只看该作者
对哦,不好意思,不应该改visible,更新一下脚本
  1. #==============================================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #==============================================================================


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

  10. #==============================================================================
  11. # ■ Window_MapName
  12. #------------------------------------------------------------------------------
  13. #  显示地图名字的窗口。
  14. #==============================================================================

  15. class Window_MapName < Window_Base
  16. #--------------------------------------------------------------------------
  17. # ● 类常量定义
  18. #--------------------------------------------------------------------------

  19. # 暂时屏蔽用的开关
  20. SWITCH = 35

  21. # 窗口位置设定
  22. NAME_X = 380      # 矩形左上顶点X坐标
  23. NAME_Y = 20       # 矩形左上顶点Y坐标
  24. NAME_W = 220      # 矩形宽
  25. NAME_H = 60       # 矩形高

  26. # 显示时间设置
  27. SHOW_TIME_0 = 10  # 地图名出现前等待的帧数
  28. SHOW_TIME_1 = 10  # 地图名从不可见变成可见的帧数
  29. SHOW_TIME_2 = 34  # 地图名完全可见的帧数
  30. SHOW_TIME_3 = 16  # 地图名从可见变成不可见的帧数

  31. # 完全可见时的透明度设置
  32. OPACITY_1 = 244   # 边框
  33. OPACITY_2 = 144   # 背景
  34. OPACITY_3 = 255   # 文字

  35. # 地图名字的颜色
  36. TEXT_COLOR = Color.new(255, 255, 255, 255)

  37. #--------------------------------------------------------------------------
  38. # ● 初始化状态
  39. #--------------------------------------------------------------------------
  40. def initialize
  41.    super(NAME_X , NAME_Y, NAME_W, NAME_H)
  42.    # 初始化窗口透明度
  43.    self.opacity = 0
  44.    self.back_opacity = 0
  45.    self.contents_opacity = 0
  46.    self.contents = Bitmap.new(width - 32, height - 32)
  47.    # 剩余帧数初始化
  48.    @show_time = 0
  49. end
  50. #--------------------------------------------------------------------------
  51. # ● 输出文字
  52. #--------------------------------------------------------------------------
  53. def setname   
  54.    unless $game_switches[SWITCH]==true
  55.      # 获取地图ID
  56.      newid = $game_map.map_id
  57.      time = SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3  
  58.      # 如果现在的地图的ID不是刚才显示的地图ID则开始显示
  59.      if newid != @id
  60.        @id = newid
  61.        @show_time = SHOW_TIME_0 + SHOW_TIME_1 + SHOW_TIME_2 + SHOW_TIME_3
  62.      # 剩余帧数为0是时,全部窗口透明
  63.      elsif @show_time < 1
  64.        self.opacity = 0
  65.        self.back_opacity = 0
  66.        self.contents_opacity = 0
  67.        return
  68.      end      
  69.      self.contents.clear
  70.      self.contents.font.color = TEXT_COLOR
  71.      # 描绘地图名
  72.      self.contents.draw_text(4, 0 , width - 40, 32, $data_mapinfos[@id].name, 1)
  73.      # 根本帧数设定窗口透明度
  74.      if @show_time > (SHOW_TIME_2 + SHOW_TIME_3)
  75.        self.opacity = @show_time < time ? (((OPACITY_1 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  76.        self.back_opacity = @show_time < time ? (((OPACITY_2 / SHOW_TIME_1 )* (time - @show_time)).to_i) : 0
  77.        self.contents_opacity = @show_time < time ? (((OPACITY_3 / SHOW_TIME_1) * (time - @show_time)).to_i) : 0
  78.      else
  79.        self.opacity = @show_time < (SHOW_TIME_3 / 16 * 14) ? ((OPACITY_1 / SHOW_TIME_3) * @show_time).to_i : OPACITY_1
  80.        self.back_opacity = @show_time < (SHOW_TIME_3 / 16 * 9) ? ((OPACITY_2 / SHOW_TIME_3) * @show_time).to_i : OPACITY_2
  81.        self.contents_opacity = @show_time < SHOW_TIME_3 ? ((OPACITY_3 / SHOW_TIME_3)* @show_time).to_i : OPACITY_3
  82.      end      
  83.      @show_time -= 1
  84.    end
  85. end
  86. end

  87. #==============================================================================
  88. # ■ Scene_Map
  89. #------------------------------------------------------------------------------
  90. #  处理地图画面的类。(追加定义)
  91. #==============================================================================

  92. class Scene_Map
  93. alias smn_main main
  94. def main
  95.    $mapname = Window_MapName.new if $mapname == nil || $mapname.disposed?
  96.    smn_main
  97.    $mapname.opacity = 0
  98.    $mapname.back_opacity = 0
  99.    $mapname.contents_opacity = 0
  100. end

  101. alias smn_update update
  102. def update
  103.    $mapname.setname
  104.    smn_update
  105. end
  106. end

  107. #==============================================================================
  108. # ■ Scene_Title
  109. #------------------------------------------------------------------------------
  110. #  处理标题画面的类。(追加定义)
  111. #==============================================================================

  112. class Scene_Title
  113. alias smn_main main
  114. def main
  115.    # 读取地图信息文件
  116.    $data_mapinfos = load_data("Data/MapInfos.rxdata")
  117.    smn_main
  118. end
  119. end

  120. #==============================================================================
  121. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  122. #==============================================================================
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦·贤者

梦石
0
星屑
50
在线时间
1141 小时
注册时间
2007-12-15
帖子
4100
9
发表于 2009-5-18 01:56:13 | 只看该作者
现在好像没有问题鸟,多谢LS大大{/wx}
http://rpg.blue/home.php?mod=space&uid=34951&do=blog&id=12799
回复 支持 反对

使用道具 举报

Lv1.梦旅人

v

梦石
0
星屑
50
在线时间
55 小时
注册时间
2007-12-19
帖子
99
10
发表于 2009-5-18 02:04:31 | 只看该作者
以下引用tommay于2009-5-17 17:56:13的发言:

现在好像没有问题鸟,多谢LS大大

又hit君又LS,真是混乱 =v= 还得多谢你提出了BUG
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-15 06:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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