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

Project1

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

[通用发布] 【不是创意的创意】显示地图名和坐标——通用单脚本版

[复制链接]

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1697
在线时间
3038 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

跳转到指定楼层
1
发表于 2014-12-18 14:10:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 精灵使者 于 2017-10-8 02:06 编辑

与以前的独立的脚本不同,此脚本可以在XP,VX和VA环境下使用。
设置的时候,请参考设置部分。
打开相应的开关脚本即可工作。
  1. #==========================================================================
  2. # 本脚本来自[url=http://www.66rpg.com]www.66rpg.com[/url],用于任何游戏请保留此信息。别以为加密就可以del哦
  3. #==========================================================================
  4. #==========================================================================
  5. #显示地图名和坐标 ver 20160205
  6. #
  7. #更新by精灵使者
  8. #
  9. #更新内容:设定改为XP,VX,VA通用脚本。
  10. #具体使用方法去看设置部分,启动窗口开关脚本开始工作。
  11. #如果使用分隔符,可以自己修改分隔符。
  12. #地图名只显示分隔符前的内容。
  13. #分隔符前面如果没有地图名的话,小地图会暂时关闭。
  14. #==========================================================================

  15. #--------------------------------------------------------------------------
  16. # ● 顶层变量
  17. #--------------------------------------------------------------------------
  18. OS = self ? (RUBY_VERSION == '1.9.2' ? :va : :vx) : :xp
  19. #==============================================================================
  20. # ■ 设定部分
  21. #==============================================================================
  22. module FAY
  23.   EDITION = OS                    # 版本
  24.   WINDOW_XY = 1                   # XY坐标窗口开关
  25.   MAPNAME_COLOR =
  26.   Color.new(255, 255, 255)        # 地图名颜色,如果是其他颜色请指定
  27.   XYNAME_COLOR =
  28.   Color.new(192, 224, 255)        # XY名字的颜色,如果是其他颜色请指定
  29.   XYNUMBER_COLOR =
  30.   Color.new(255, 255, 255)        # XY数字的颜色,如果是其他颜色请指定
  31.   XY_OPACITY = 0                  # XY窗口的透明度,默认完全透明
  32.   XY_B_OPACITY = 0                # XY窗口背景的透明度,默认完全透明
  33.   XY_C_OPACITY = 255              # XY窗口内容的透明度,默认完全不透明
  34.   XYBACK_PNG = ""                 # XY背景图片文件名(注:背景图片会遮挡小地图)
  35.   XYBACK_OPATITY = 192            # XY背景透明度(建议透明,否则会完全盖住)
  36.   XY_SPLIT_WORDS = /☆/           # 反斜杠内分隔符,地图名内分隔符不要超过2个
  37.   XY_WORD_X = "X:"                # 表示X坐标的用语
  38.   XY_WORD_Y = "Y:"                # 表示Y坐标的用语
  39.   SCREEN_WIDTH = EDITION == :xp ? 640 : 544  # 屏幕宽
  40.   SCREEN_HEIGHT = EDITION == :xp ? 480 : 416 # 屏幕高
  41.   WINDOW_X = SCREEN_WIDTH - 250             # X坐标
  42.   WINDOW_Y = SCREEN_HEIGHT - 101            # Y坐标
  43. end

  44. #==============================================================================
  45. # ■ Game_Temp
  46. #------------------------------------------------------------------------------
  47. #  在没有存档的情况下,处理临时数据的类。这个类的实例请参考
  48. # $game_temp 。
  49. #==============================================================================
  50. class Game_Temp
  51.   attr_accessor  :map_visible     # 地图的表示状态
  52.   attr_accessor  :xy_visible      # XY地图的表示状态
  53.   attr_accessor  :back_visible    # 背景图表示状态
  54. end

  55. #==============================================================================
  56. # ■ Window_XY
  57. #------------------------------------------------------------------------------
  58. #  显示坐标的窗口。
  59. #==============================================================================
  60. class Window_xy < Window_Base
  61. #--------------------------------------------------------------------------
  62. # ● 初始化窗口
  63. #--------------------------------------------------------------------------
  64. def initialize
  65.    super(0, 0, 280, 96)
  66.    case FAY::EDITION
  67.     when :xp
  68.      @mapnames = load_data("Data/MapInfos.rxdata")
  69.     when :vx
  70.      @mapnames = load_data("Data/MapInfos.rvdata")
  71.     when :va
  72.      @mapnames = load_data("Data/MapInfos.rvdata2")
  73.    end
  74.    @x = $game_player.x
  75.    @y = $game_player.y
  76.    @id = $game_map.map_id
  77.    map_name = @mapnames[@id].name.split(FAY::XY_SPLIT_WORDS , 2)[0]
  78.    self.contents = Bitmap.new(width - 32, height - 32)
  79.    self.back_opacity = FAY::XY_B_OPACITY
  80.    self.opacity = FAY::XY_OPACITY
  81.    self.contents.font.bold = true
  82.    self.contents_opacity = FAY::XY_C_OPACITY
  83.    self.visible = map_name == "" ? false : $game_switches[FAY::WINDOW_XY]
  84.    refresh if self.visible
  85. end

  86. #--------------------------------------------------------------------------
  87. # ● 刷新
  88. #--------------------------------------------------------------------------
  89. def refresh
  90.     if $game_switches[FAY::WINDOW_XY]
  91.     self.contents.clear
  92.     @x = $game_player.x
  93.     @y = $game_player.y
  94.     @id = $game_map.map_id
  95.     map_name = @mapnames[@id].name.split(FAY::XY_SPLIT_WORDS , 2)[0]
  96.     self.contents.font.color = FAY::MAPNAME_COLOR
  97.     self.contents.draw_text(0, 0, 175, 32, map_name,1)
  98.     self.contents.font.color = FAY::XYNAME_COLOR
  99.     self.contents.draw_text(0, 32, 175, 32, FAY::XY_WORD_X)
  100.     self.contents.font.color = FAY::XYNUMBER_COLOR
  101.     self.contents.draw_text(0, 32, 80, 32, @x.to_s,2)
  102.     self.contents.font.color = FAY::XYNAME_COLOR
  103.     self.contents.draw_text(95, 32, 175, 32, FAY::XY_WORD_Y)
  104.     self.contents.font.color = FAY::XYNUMBER_COLOR
  105.     self.contents.draw_text(0, 32, 175, 32, @y.to_s,2)
  106.    end
  107. end

  108. #--------------------------------------------------------------------------
  109. # ● 判断文字刷新。节约内存用
  110. #--------------------------------------------------------------------------
  111. def judge
  112.    return true if @x != $game_player.x
  113.    return true if @y != $game_player.y
  114.    return true if @id != $game_map.map_id
  115.    return false
  116. end
  117. end

  118. class Scene_Map
  119. alias xy_66rpg_main main unless $@
  120. def main
  121.    case FAY::EDITION
  122.     when :xp
  123.      @mapnames = load_data("Data/MapInfos.rxdata")
  124.     when :vx
  125.      @mapnames = load_data("Data/MapInfos.rvdata")
  126.     when :va
  127.      @mapnames = load_data("Data/MapInfos.rvdata2")
  128.    end
  129.    @id = $game_map.map_id
  130.    map_name = @mapnames[@id].name.split(FAY::XY_SPLIT_WORDS , 2)[0]
  131.    @xy_window = Window_xy.new
  132.    @xy_window.x = FAY::WINDOW_X
  133.    @xy_window.y = FAY::WINDOW_Y
  134.    @xy_window.z = 1500
  135.    @xy_window.opacity = FAY::XY_OPACITY
  136.    @xy_window.visible = map_name == "" ? false : $game_switches[FAY::WINDOW_XY]
  137.    @back = Sprite.new
  138.    unless FAY::XYBACK_PNG.empty?
  139.     @back.bitmap = Bitmap.new("Graphics/Pictures/"+FAY::XYBACK_PNG)
  140.     @back.x = FAY::SCREEN_WIDTH - 16 - @back.bitmap.width
  141.     @back.y = FAY::SCREEN_HEIGHT - 16 - @back.bitmap.height
  142.     @back.z = 1250
  143.   end
  144.    @back.visible =map_name == "" ? false : $game_switches[FAY::WINDOW_XY]
  145.    @back.opacity = FAY::XYBACK_OPATITY
  146.    xy_66rpg_main
  147.    @xy_window.dispose
  148.    @back.dispose
  149. end
  150. #--------------------------------------------------------------------------
  151. # ● 刷新画面
  152. #--------------------------------------------------------------------------
  153. alias xy_66rpg_update update  unless $@
  154. def update
  155.   xy_66rpg_update
  156.   @id = $game_map.map_id
  157.   map_name = @mapnames[@id].name.split(FAY::XY_SPLIT_WORDS, 2 )[0]
  158.   @xy_window.visible = map_name == "" ? false : $game_switches[FAY::WINDOW_XY]
  159.   @xy_window.refresh if (@xy_window.judge and @xy_window.visible)
  160.   @back.visible = map_name == "" ? false : $game_switches[FAY::WINDOW_XY]
  161. end
  162. end
  163. #==========================================================================
  164. # 本脚本来自[url=http://www.66rpg.com]www.66rpg.com[/url],用于任何游戏请保留此信息。别以为加密就可以del哦
  165. #==========================================================================
复制代码

点评

这缩进是肿么了啊  发表于 2014-12-19 21:48
看标题识楼主系列  发表于 2014-12-18 15:39

评分

参与人数 1星屑 +60 收起 理由
RyanBern + 60 塞糖

查看全部评分

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

本版积分规则

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

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

GMT+8, 2024-11-22 13:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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