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

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: 825256699
打印 上一主题 下一主题

[已经解决] 怎么在游戏里显示这是哪张地图的名称

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
154
在线时间
664 小时
注册时间
2011-9-25
帖子
241
11
发表于 2011-10-22 00:03:05 | 只看该作者
C:\Users\pc\Desktop\地图显名.png
  1. #====================================================================
  2. #★显示地名脚本
  3. #--------------------------------------------------------------------
  4. #★作者:Zhong_Zw
  5. #★联系方式:66rpg.com论坛短信 或 [email protected]
  6. #★注:与站上的肯定有区别,因为是我默写的,如有雷同,纯属巧合!
  7. #=====================================================================

  8. SWICHES = 25
  9. class Mapname_window < Window_Base
  10. def initialize
  11. super(0, 0, 280, WLH + 64)
  12. self.opacity = 0
  13. refresh
  14. end
  15. #--------------------------------------------------------------------------
  16. # ● リフレッシュ
  17. #--------------------------------------------------------------------------
  18. def refresh
  19. self.contents.clear
  20. self.contents.font.size = 32
  21. self.contents.font.color = Color.new(0,0,0,255)
  22. self.contents.draw_text(1,1,120,32,$game_map.name,2)
  23. self.contents.font.color = normal_color
  24. self.contents.draw_text(0,0,120,32,$game_map.name,2)
  25. end
  26. def update
  27. super
  28. refresh
  29. end
  30. end

  31. class Game_Map
  32. attr_accessor :name
  33. def setup(map_id)
  34. @map_id = map_id
  35. @map = load_data(sprintf("Data/Map%03d.rvdata", @map_id))
  36. @mapinfo = load_data("Data/MapInfos.rvdata")
  37. #============================
  38. @name = @mapinfo[@map_id].name
  39. #============================
  40. @display_x = 0
  41. @display_y = 0
  42. @passages = $data_system.passages
  43. referesh_vehicles
  44. setup_events
  45. setup_scroll
  46. setup_parallax
  47. @need_refresh = false
  48. end
  49. end
  50. class Scene_Map < Scene_Base
  51. alias oldstart start
  52. def start
  53. oldstart
  54. @mapname_window = Mapname_window.new
  55. @mapname_window.x = 272
  56. @levelup_window = Window_zhonglevelup.new
  57. @lus_window = Window_Base.new(122,23,260,36)
  58. @m_window = Window_Base.new(122,59,260,290)
  59. @m_window.opacity = 0
  60. @lus_window.opacity = 0
  61. @m_window.z = 9998
  62. @lus_window.z = 9998
  63. @levelup_window.z = 9999
  64. @last_mapname = $game_map.name
  65. unless $game_switches[SWICHES]
  66. @mapname_window.opacity = 0
  67. @mapname_window.contents_opacity = 0
  68. end
  69. end
  70. def update
  71. super
  72. $game_map.interpreter.update
  73. $game_map.update
  74. $game_player.update
  75. $game_system.update
  76. @spriteset.update
  77. @message_window.update
  78. if @last_name != $game_map.name
  79. @last_name = $game_map.name
  80. if $game_switches[SWICHES]
  81. @mapname_window.update
  82. #@mapname_window.opacity = 200
  83. @mapname_window.x = 272
  84. @mapname_window.contents_opacity = 255
  85. end
  86. end
  87. if @mapname_window.x <= 440
  88. @mapname_window.x += 1
  89. # @mapname_window.opacity -= 2
  90. @mapname_window.contents_opacity -= 2
  91. end
  92. unless $game_message.visible
  93. update_levelup_window
  94. update_transfer_player
  95. update_encounter
  96. update_call_menu
  97. update_call_debug
  98. update_scene_change
  99. end
  100. end
  101. def update_levelup_window
  102. @levelup_window.update
  103. while @levelup_window.visible
  104. @lus_window.opacity = $game_temp.levelup_texts[@levelup_window.index][1].size != 0 ? 150 : 0
  105. @m_window.opacity = 150
  106. @levelup_window.update
  107. Graphics.update
  108. Input.update
  109. end
  110. @m_window.opacity = 0
  111. @lus_window.opacity = 0
  112. end

  113. alias oldterminate terminate
  114. def terminate
  115. @mapname_window.dispose
  116. oldterminate
  117. end
  118. end
复制代码
只要在地图上随意位置按上图编辑事件即可
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

12
发表于 2011-10-22 00:09:21 | 只看该作者
9楼和10楼的同学怎么丝毫没有见提到“\^”这个功能……
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
756
在线时间
532 小时
注册时间
2011-10-3
帖子
2237
13
发表于 2011-11-6 19:43:30 | 只看该作者
这种脚本多了去了。
请使用搜索功能吧
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
146 小时
注册时间
2011-9-16
帖子
55
14
发表于 2011-11-6 19:50:07 | 只看该作者
# ————————————————————————————————————
# 本脚本来自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,使用和转载请保留此信息
#==============================================================================


地图脚本- -
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
190 小时
注册时间
2011-2-19
帖子
147
15
发表于 2011-11-8 09:32:26 | 只看该作者
  1. #==============================================================================
  2. # 地图名及区域名显示 by Beside
  3. #------------------------------------------------------------------------------
  4. # 功能: 动态显示玩家所在区域及地图名。
  5. #==============================================================================
  6. class Window_Map < Window_Base
  7.   #--------------------------------------------------------------------------
  8.   # ● 以下是窗口的相关设置
  9.   #--------------------------------------------------------------------------
  10. MWINDOW_X = 12                                # 窗口X坐标
  11. MWINDOW_Y = 10                                # 窗口Y坐标
  12. WEIGH = 160                                   # 窗口宽度      
  13. START_TIME = 30                               # 窗口出现时间
  14. COUN_TIME = 60                                # 窗口持续时间
  15. FADE_TIME = 30                                # 窗口淡去时间
  16. TEXT1_SIZE = 20                               # 地图名的字体大小
  17. TEXT2_SIZE = 18                               # 区域名的字体大小
  18. TEXT3_SIZE = 18                               # 附加名的字体大小
  19. TEXT1_COLOR = Color.new(255,255,255)          # 地图名的默认颜色
  20. TEXT2_COLOR = 3                               # 区域名的默认颜色代码(0-31)
  21. TEXT3_COLOR = 5                               # 附加名的默认颜色代码(0-31)
  22. SKIN = "window"                               # 窗口皮肤的文件名
  23. HEIGHT = TEXT1_SIZE + TEXT2_SIZE + TEXT3_SIZE + 1   
  24.   #--------------------------------------------------------------------------
  25.   # ● 初始化对像
  26.   #--------------------------------------------------------------------------
  27.   def initialize
  28.     @id = 0
  29.     @a_id = 0
  30.     super(MWINDOW_X, MWINDOW_Y, WEIGH, HEIGHT)
  31.     self.opacity = 0
  32.     self.contents_opacity = 0
  33.     self.windowskin = Cache.system(SKIN)
  34.     refresh
  35.   end
  36.   #--------------------------------------------------------------------------
  37.   # ● 刷新
  38.   #--------------------------------------------------------------------------
  39.   def refresh
  40.     @map_id = $game_map.map_id
  41.     locationname = load_data("Data/MapInfos.rvdata")[@map_id].name
  42.     if $game_player.area_id.is_a?(Numeric)
  43.       if $game_player.area_id != @a_id or @map_id != @id
  44.         self.contents.clear
  45.         if @map_id != @id
  46.          @id = @map_id
  47.          @time_count = START_TIME + COUN_TIME + FADE_TIME  
  48.          self.contents.font.color = TEXT1_COLOR
  49.          self.contents.font.size = TEXT1_SIZE
  50.          self.contents.draw_text(0, 0, WEIGH-32, TEXT1_SIZE, locationname, 1)
  51.         end
  52.         @time_count = START_TIME + COUN_TIME + FADE_TIME
  53.         @a_id = $game_player.area_id
  54.         area_name = $data_areas[@a_id].name_p1
  55.         other_name = $data_areas[@a_id].name_p2
  56.         self.contents.font.size = TEXT2_SIZE
  57.         self.contents.font.color = text_color($data_areas[@a_id].color_1)
  58.         self.contents.draw_text(0, TEXT1_SIZE, WEIGH-32, TEXT2_SIZE, area_name, 1)
  59.         self.contents.font.size = TEXT3_SIZE
  60.         self.contents.font.color = text_color($data_areas[@a_id].color_2)
  61.         self.contents.draw_text(0, TEXT1_SIZE+TEXT2_SIZE, WEIGH-32, TEXT3_SIZE, other_name, 1)
  62.       end
  63.     elsif @map_id != @id
  64.       @id = @map_id
  65.       @time_count = START_TIME + COUN_TIME + FADE_TIME  
  66.       self.contents.clear
  67.       self.contents.font.color = TEXT1_COLOR
  68.       self.contents.font.size = TEXT1_SIZE
  69.       self.contents.draw_text(0, (HEIGHT-TEXT1_SIZE)/2-16, WEIGH-32, TEXT1_SIZE, locationname, 1)
  70.     elsif @a_id != 0
  71.       @a_id = 0
  72.       @time_count = START_TIME + COUN_TIME + FADE_TIME  
  73.       self.contents.clear
  74.       self.contents.font.color = TEXT1_COLOR
  75.       self.contents.font.size = TEXT1_SIZE
  76.       self.contents.draw_text(0, (HEIGHT-TEXT1_SIZE)/2-16, WEIGH-32, TEXT1_SIZE, locationname, 1)
  77.     end
  78.     if @time_count > COUN_TIME + FADE_TIME
  79.       self.opacity += 255 / START_TIME
  80.       self.contents_opacity += 255 / START_TIME
  81.       @time_count -= 1
  82.     elsif @time_count > FADE_TIME
  83.       self.opacity = 255
  84.       self.contents_opacity = 255
  85.       @time_count -= 1
  86.     elsif @time_count > 0
  87.       self.opacity -= 255 / FADE_TIME
  88.       self.contents_opacity -= 255 / FADE_TIME
  89.       @time_count -= 1
  90.     else
  91.       @time_count = 0
  92.       self.opacity = 0
  93.       self.contents_opacity = 0
  94.     end
  95.   end
  96. end

  97. #==============================================================================
  98. # ■ Scene_Map
  99. #------------------------------------------------------------------------------
  100. #  处理地图画面的类。
  101. #==============================================================================

  102. class Scene_Map < Scene_Base
  103.   alias _start start
  104.   #--------------------------------------------------------------------------
  105.   # ● 开始处理
  106.   #--------------------------------------------------------------------------
  107.   def start
  108.     @map_window = Window_Map.new
  109.     _start
  110.   end
  111.   
  112.   alias _terminate terminate
  113.   def terminate
  114.     @map_window.dispose
  115.     _terminate
  116.   end
  117.   
  118.   alias _update update
  119.   def update
  120.     @map_window.refresh
  121.     _update
  122.   end
  123. end

  124. module RPG
  125.   class Area
  126.     def name_p1
  127.       name = @name.split(/#/)[0]
  128.       return name != nil ? name : ""
  129.     end
  130.     def name_p2
  131.       name = @name.split(/#/)[1]
  132.       return name != nil ? name : ""
  133.     end
  134.     def color_1
  135.       color = @name.split(/#/)[2]
  136.       return color != nil ? color.to_i : TEXT2_COLOR
  137.     end
  138.     def color_2
  139.       color = @name.split(/#/)[3]
  140.       return color != nil ? color.to_i : TEXT3_COLOR
  141.     end
  142.   end
  143. end

  144. class Game_Character
  145.   def area_id
  146.     for area in $data_areas.values
  147.      if in_area?(area)
  148.      return area.id
  149.      end
  150.     end
  151.   end
  152. end
复制代码
这个是我之前找到的。
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
448
在线时间
628 小时
注册时间
2011-9-27
帖子
3996
16
发表于 2011-11-8 19:09:02 | 只看该作者
我发个范例,范例里的脚本,插到自己游戏里哦

1.jpg (187.78 KB, 下载次数: 12)

1.jpg

Project1.rar

246.1 KB, 下载次数: 54

回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-4 19:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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