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

Project1

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

如何制作显示时间框不消失的效果

 关闭 [复制链接]

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3309
在线时间
3620 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

跳转到指定楼层
1
发表于 2007-8-2 01:42:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  1. #===============================================================================
  2. #本脚本所有权归小柯一人所有 除非共享该脚本 否则不得善自修改使用 66RPG         #
  3. #===============================================================================
  4. class Game_Player < Game_Character
  5. #--------------------------------------------------------------------------
  6. # ● 增加步数
  7. #--------------------------------------------------------------------------
  8. def increase_steps
  9.    super
  10.    # 不是强制移动路线的场合
  11.    unless @move_route_forcing
  12.      # 增加步数
  13.      $game_variables[5] += 1
  14.      # 步数是偶数的情况下
  15.      if $game_party.steps % 2 == 0
  16.        # 检查连续伤害
  17.        $game_party.check_map_slip_damage
  18.      end
  19.    end
  20. end
  21. end
  22. #==============================================================================
  23. # ■ Window_PlayTime
  24. #------------------------------------------------------------------------------
  25. #  菜单画面显示游戏时间的窗口。
  26. #==============================================================================
  27. class Window_Time < Window_Base
  28. #--------------------------------------------------------------------------
  29. # ● 初始化对像
  30. #--------------------------------------------------------------------------
  31. def initialize
  32.    super(0, 0, 180, 60)
  33.    self.contents = Bitmap.new(width - 32, height - 32)
  34.    self.z = 110
  35.    refresh
  36. end
  37. #--------------------------------------------------------------------------
  38. # ● 刷新
  39. #--------------------------------------------------------------------------
  40. def refresh
  41.    self.contents.clear
  42.    self.contents.font.color = system_color
  43.    self.contents.draw_text(0, 0, 140, 32, "时间",2)
  44.    self.contents.font.color = normal_color
  45.    time1 = [$game_variables[6],23].min
  46.    time2 = [$game_variables[7],59].min
  47.    self.contents.draw_text(-24, 0, 60, 32,time1.to_s,2)
  48.    self.contents.draw_text(-24, 0, 100, 32,time2.to_s,2)
  49.    self.contents.draw_text(-24, 0, 80, 32,":",2)
  50. end
  51. #--------------------------------------------------------------------------
  52. # ● 刷新画面
  53. #--------------------------------------------------------------------------
  54. def update
  55.    super
  56.    if Graphics.frame_count / Graphics.frame_rate != @total_sec
  57.      refresh
  58.    end
  59. end
  60. end
  61. #==============================================================================
  62. # ■ Window_MenuStatus
  63. #------------------------------------------------------------------------------
  64. #  显示菜单画面和同伴状态的窗口。
  65. #==============================================================================

  66. $MT=200
  67. $MP=200

  68. class Window_MenuStatus < Window_Selectable
  69. #--------------------------------------------------------------------------
  70. # ● 初始化目标
  71. #--------------------------------------------------------------------------
  72. def initialize
  73.    super(0, 0, 420, 420)
  74.    self.contents = Bitmap.new(width - 32, height - 32)
  75.    refresh
  76.    self.active = false
  77.    self.index = -1
  78. end
  79. #--------------------------------------------------------------------------
  80. # ● 刷新
  81. #--------------------------------------------------------------------------
  82. def refresh
  83.    self.contents.clear
  84.    @item_max = $game_party.actors.size
  85.    for i in 0...$game_party.actors.size
  86.      actor = $game_party.actors[i]
  87.      bitmap=Bitmap.new("Graphics/Pictures/face")
  88.      src_rect = Rect.new(0, 0, 100, 100) #——可自己调整大小
  89.      self.contents.blt(0, y, bitmap, src_rect)
  90.    self.contents.font.color = normal_color
  91.    self.contents.draw_text(60, 120,50,32,$game_variables[1].to_s,2)
  92.    self.contents.draw_text(60, 150,50,32,$game_variables[3].to_s,2)
  93.    self.contents.draw_text(60,120,100,32,$MT.to_s,2)
  94.    self.contents.draw_text(60,150,100,32,$MP.to_s,2)
  95.    self.contents.draw_text(80, 200, 120, 32, $game_party.gold.to_s, 2)
  96.    self.contents.draw_text(80, 240, 120, 32, $game_variables[8].to_s, 2)
  97.    self.contents.draw_text(80, 300, 120, 32, $game_variables[5].to_s , 2)
  98.    self.contents.font.color = system_color
  99.    self.contents.draw_text(0, 120, 120, 32, "体力:", 3)
  100.    self.contents.draw_text(20 +  96,120,100,32,"/",0)
  101.    self.contents.draw_text(0, 150, 100, 32, "疲劳:", 3)
  102.    self.contents.draw_text(20 +  96,150,100,32,"/",0)
  103.    self.contents.draw_text(0, 200, 100, 32, "金钱:", 3)
  104.    self.contents.draw_text(0, 250, 100, 32, "赌博币:", 3)
  105.    self.contents.draw_text(0, 300, 120, 32, "步数")
  106.    end
  107. end
  108. #--------------------------------------------------------------------------
  109. # ● 刷新光标矩形
  110. #--------------------------------------------------------------------------
  111. def update_cursor_rect
  112.    if @index < 0
  113.      self.cursor_rect.empty
  114.    else
  115.      self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
  116.    end
  117. end
  118. end

  119. #==============================================================================
  120. # ■ Scene_Menu
  121. #------------------------------------------------------------------------------
  122. #  处理菜单画面的类。
  123. #==============================================================================

  124. class Scene_Menu
  125. #--------------------------------------------------------------------------
  126. # ● 初始化对像
  127. #     menu_index : 命令光标的初期位置
  128. #--------------------------------------------------------------------------
  129. def initialize(menu_index = 0)
  130.    @menu_index = menu_index
  131. end
  132. #--------------------------------------------------------------------------
  133. # ● 主处理
  134. #--------------------------------------------------------------------------
  135. def main
  136.    # 生成命令窗口
  137.    s1 = "物品"
  138.    s2 = "装备"
  139.    s3 = "写日记"
  140.    s4 = "离开菜单"
  141.    @command_window = Window_Command.new(160, [s1, s2, s3, s4])
  142.    @command_window.index = @menu_index
  143.    @command_window.opacity = 0
  144.    @command_window.x = 290
  145.    @command_window.y = 50
  146.    # 同伴人数为 0 的情况下
  147.    if $game_party.actors.size == 0
  148.      # 物品、特技、装备、状态无效化
  149.      @command_window.disable_item(0)
  150.      @command_window.disable_item(1)
  151.      @command_window.disable_item(2)
  152.      @command_window.disable_item(3)
  153.    end
  154.    # 禁止存档的情况下
  155.    if $game_system.save_disabled
  156.      # 存档无效
  157.      @command_window.disable_item(2)
  158.    end
  159.    @steps = $game_variables[5]
  160.    # 生成游戏时间窗口
  161.    @playtime_window = Window_Time.new
  162.    @playtime_window.x = 460
  163.    @playtime_window.y = 0
  164.    # 生成状态窗口
  165.    @status_window = Window_MenuStatus.new
  166.    @status_window.x = 50
  167.    @status_window.y = 30
  168.    # 执行过渡
  169.    Graphics.transition
  170.    # 主循环
  171.    loop do
  172.      # 刷新游戏画面
  173.      Graphics.update
  174.      # 刷新输入信息
  175.      Input.update
  176.      # 刷新画面
  177.      update
  178.      # 如果切换画面就中断循环
  179.      if $scene != self
  180.        break
  181.      end
  182.    end
  183.    # 准备过渡
  184.    Graphics.freeze
  185.    # 释放窗口
  186.    @command_window.dispose
  187.    @playtime_window.dispose
  188.    @status_window.dispose
  189. end
  190. #--------------------------------------------------------------------------
  191. # ● 刷新画面
  192. #--------------------------------------------------------------------------
  193. def update
  194.    # 刷新窗口
  195.    @command_window.update
  196.    @playtime_window.update
  197.    @status_window.update
  198.    # 命令窗口被激活的情况下: 调用 update_command
  199.    if @command_window.active
  200.      update_command
  201.      return
  202.    end
  203. end
  204. #--------------------------------------------------------------------------
  205. # ● 刷新画面 (命令窗口被激活的情况下)
  206. #--------------------------------------------------------------------------
  207. def update_command
  208.    # 按下 B 键的情况下
  209.    if Input.trigger?(Input::B)
  210.      # 演奏取消 SE
  211.      $game_system.se_play($data_system.cancel_se)
  212.      # 切换的地图画面
  213.      $scene = Scene_Map.new
  214.      return
  215.    end
  216.    # 按下 C 键的情况下
  217.    if Input.trigger?(Input::C)
  218.      # 同伴人数为 0、存档、游戏结束以外的场合
  219.      if $game_party.actors.size == 0 and @command_window.index < 4
  220.        # 演奏冻结 SE
  221.        $game_system.se_play($data_system.buzzer_se)
  222.        return
  223.      end
  224.      # 命令窗口的光标位置分支
  225.      case @command_window.index
  226.      when 0  # 物品
  227.        # 演奏确定 SE
  228.        $game_system.se_play($data_system.decision_se)
  229.        # 切换到物品画面
  230.        $scene = Scene_Item.new
  231.      when 1  # 装备
  232.        # 演奏确定 SE
  233.        $game_system.se_play($data_system.decision_se)
  234.        # 激活状态窗口
  235.        @command_window.active = false
  236.        $scene = Scene_Equip.new
  237.      when 2  # 存档
  238.        # 禁止存档的情况下
  239.        if $game_system.save_disabled
  240.          # 演奏冻结 SE
  241.          $game_system.se_play($data_system.buzzer_se)
  242.          return
  243.        end
  244.        # 演奏确定 SE
  245.        $game_system.se_play($data_system.decision_se)
  246.        # 切换到存档画面
  247.        $scene = Scene_Save.new
  248.      when 3  # 状态
  249.        # 演奏确定 SE
  250.        $game_system.se_play($data_system.decision_se)
  251.        $scene=Scene_End.new
  252.      end
  253.      return
  254.    end
  255. end
  256. end
  257. #===============================================================================
  258. #本脚本所有权归小柯一人所有 除非共享该脚本 否则不得善自修改使用  66RPG        #
  259. #===============================================================================
复制代码

就是这个脚本,
如何做到里面的那个时间框显示出来后就不消失,
一直显示着?

[LINE]1,#dddddd[/LINE]
就是说菜单没了也继续显示,
但是得先打开菜单

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3309
在线时间
3620 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

2
 楼主| 发表于 2007-8-2 01:42:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  1. #===============================================================================
  2. #本脚本所有权归小柯一人所有 除非共享该脚本 否则不得善自修改使用 66RPG         #
  3. #===============================================================================
  4. class Game_Player < Game_Character
  5. #--------------------------------------------------------------------------
  6. # ● 增加步数
  7. #--------------------------------------------------------------------------
  8. def increase_steps
  9.    super
  10.    # 不是强制移动路线的场合
  11.    unless @move_route_forcing
  12.      # 增加步数
  13.      $game_variables[5] += 1
  14.      # 步数是偶数的情况下
  15.      if $game_party.steps % 2 == 0
  16.        # 检查连续伤害
  17.        $game_party.check_map_slip_damage
  18.      end
  19.    end
  20. end
  21. end
  22. #==============================================================================
  23. # ■ Window_PlayTime
  24. #------------------------------------------------------------------------------
  25. #  菜单画面显示游戏时间的窗口。
  26. #==============================================================================
  27. class Window_Time < Window_Base
  28. #--------------------------------------------------------------------------
  29. # ● 初始化对像
  30. #--------------------------------------------------------------------------
  31. def initialize
  32.    super(0, 0, 180, 60)
  33.    self.contents = Bitmap.new(width - 32, height - 32)
  34.    self.z = 110
  35.    refresh
  36. end
  37. #--------------------------------------------------------------------------
  38. # ● 刷新
  39. #--------------------------------------------------------------------------
  40. def refresh
  41.    self.contents.clear
  42.    self.contents.font.color = system_color
  43.    self.contents.draw_text(0, 0, 140, 32, "时间",2)
  44.    self.contents.font.color = normal_color
  45.    time1 = [$game_variables[6],23].min
  46.    time2 = [$game_variables[7],59].min
  47.    self.contents.draw_text(-24, 0, 60, 32,time1.to_s,2)
  48.    self.contents.draw_text(-24, 0, 100, 32,time2.to_s,2)
  49.    self.contents.draw_text(-24, 0, 80, 32,":",2)
  50. end
  51. #--------------------------------------------------------------------------
  52. # ● 刷新画面
  53. #--------------------------------------------------------------------------
  54. def update
  55.    super
  56.    if Graphics.frame_count / Graphics.frame_rate != @total_sec
  57.      refresh
  58.    end
  59. end
  60. end
  61. #==============================================================================
  62. # ■ Window_MenuStatus
  63. #------------------------------------------------------------------------------
  64. #  显示菜单画面和同伴状态的窗口。
  65. #==============================================================================

  66. $MT=200
  67. $MP=200

  68. class Window_MenuStatus < Window_Selectable
  69. #--------------------------------------------------------------------------
  70. # ● 初始化目标
  71. #--------------------------------------------------------------------------
  72. def initialize
  73.    super(0, 0, 420, 420)
  74.    self.contents = Bitmap.new(width - 32, height - 32)
  75.    refresh
  76.    self.active = false
  77.    self.index = -1
  78. end
  79. #--------------------------------------------------------------------------
  80. # ● 刷新
  81. #--------------------------------------------------------------------------
  82. def refresh
  83.    self.contents.clear
  84.    @item_max = $game_party.actors.size
  85.    for i in 0...$game_party.actors.size
  86.      actor = $game_party.actors[i]
  87.      bitmap=Bitmap.new("Graphics/Pictures/face")
  88.      src_rect = Rect.new(0, 0, 100, 100) #——可自己调整大小
  89.      self.contents.blt(0, y, bitmap, src_rect)
  90.    self.contents.font.color = normal_color
  91.    self.contents.draw_text(60, 120,50,32,$game_variables[1].to_s,2)
  92.    self.contents.draw_text(60, 150,50,32,$game_variables[3].to_s,2)
  93.    self.contents.draw_text(60,120,100,32,$MT.to_s,2)
  94.    self.contents.draw_text(60,150,100,32,$MP.to_s,2)
  95.    self.contents.draw_text(80, 200, 120, 32, $game_party.gold.to_s, 2)
  96.    self.contents.draw_text(80, 240, 120, 32, $game_variables[8].to_s, 2)
  97.    self.contents.draw_text(80, 300, 120, 32, $game_variables[5].to_s , 2)
  98.    self.contents.font.color = system_color
  99.    self.contents.draw_text(0, 120, 120, 32, "体力:", 3)
  100.    self.contents.draw_text(20 +  96,120,100,32,"/",0)
  101.    self.contents.draw_text(0, 150, 100, 32, "疲劳:", 3)
  102.    self.contents.draw_text(20 +  96,150,100,32,"/",0)
  103.    self.contents.draw_text(0, 200, 100, 32, "金钱:", 3)
  104.    self.contents.draw_text(0, 250, 100, 32, "赌博币:", 3)
  105.    self.contents.draw_text(0, 300, 120, 32, "步数")
  106.    end
  107. end
  108. #--------------------------------------------------------------------------
  109. # ● 刷新光标矩形
  110. #--------------------------------------------------------------------------
  111. def update_cursor_rect
  112.    if @index < 0
  113.      self.cursor_rect.empty
  114.    else
  115.      self.cursor_rect.set(0, @index * 116, self.width - 32, 96)
  116.    end
  117. end
  118. end

  119. #==============================================================================
  120. # ■ Scene_Menu
  121. #------------------------------------------------------------------------------
  122. #  处理菜单画面的类。
  123. #==============================================================================

  124. class Scene_Menu
  125. #--------------------------------------------------------------------------
  126. # ● 初始化对像
  127. #     menu_index : 命令光标的初期位置
  128. #--------------------------------------------------------------------------
  129. def initialize(menu_index = 0)
  130.    @menu_index = menu_index
  131. end
  132. #--------------------------------------------------------------------------
  133. # ● 主处理
  134. #--------------------------------------------------------------------------
  135. def main
  136.    # 生成命令窗口
  137.    s1 = "物品"
  138.    s2 = "装备"
  139.    s3 = "写日记"
  140.    s4 = "离开菜单"
  141.    @command_window = Window_Command.new(160, [s1, s2, s3, s4])
  142.    @command_window.index = @menu_index
  143.    @command_window.opacity = 0
  144.    @command_window.x = 290
  145.    @command_window.y = 50
  146.    # 同伴人数为 0 的情况下
  147.    if $game_party.actors.size == 0
  148.      # 物品、特技、装备、状态无效化
  149.      @command_window.disable_item(0)
  150.      @command_window.disable_item(1)
  151.      @command_window.disable_item(2)
  152.      @command_window.disable_item(3)
  153.    end
  154.    # 禁止存档的情况下
  155.    if $game_system.save_disabled
  156.      # 存档无效
  157.      @command_window.disable_item(2)
  158.    end
  159.    @steps = $game_variables[5]
  160.    # 生成游戏时间窗口
  161.    @playtime_window = Window_Time.new
  162.    @playtime_window.x = 460
  163.    @playtime_window.y = 0
  164.    # 生成状态窗口
  165.    @status_window = Window_MenuStatus.new
  166.    @status_window.x = 50
  167.    @status_window.y = 30
  168.    # 执行过渡
  169.    Graphics.transition
  170.    # 主循环
  171.    loop do
  172.      # 刷新游戏画面
  173.      Graphics.update
  174.      # 刷新输入信息
  175.      Input.update
  176.      # 刷新画面
  177.      update
  178.      # 如果切换画面就中断循环
  179.      if $scene != self
  180.        break
  181.      end
  182.    end
  183.    # 准备过渡
  184.    Graphics.freeze
  185.    # 释放窗口
  186.    @command_window.dispose
  187.    @playtime_window.dispose
  188.    @status_window.dispose
  189. end
  190. #--------------------------------------------------------------------------
  191. # ● 刷新画面
  192. #--------------------------------------------------------------------------
  193. def update
  194.    # 刷新窗口
  195.    @command_window.update
  196.    @playtime_window.update
  197.    @status_window.update
  198.    # 命令窗口被激活的情况下: 调用 update_command
  199.    if @command_window.active
  200.      update_command
  201.      return
  202.    end
  203. end
  204. #--------------------------------------------------------------------------
  205. # ● 刷新画面 (命令窗口被激活的情况下)
  206. #--------------------------------------------------------------------------
  207. def update_command
  208.    # 按下 B 键的情况下
  209.    if Input.trigger?(Input::B)
  210.      # 演奏取消 SE
  211.      $game_system.se_play($data_system.cancel_se)
  212.      # 切换的地图画面
  213.      $scene = Scene_Map.new
  214.      return
  215.    end
  216.    # 按下 C 键的情况下
  217.    if Input.trigger?(Input::C)
  218.      # 同伴人数为 0、存档、游戏结束以外的场合
  219.      if $game_party.actors.size == 0 and @command_window.index < 4
  220.        # 演奏冻结 SE
  221.        $game_system.se_play($data_system.buzzer_se)
  222.        return
  223.      end
  224.      # 命令窗口的光标位置分支
  225.      case @command_window.index
  226.      when 0  # 物品
  227.        # 演奏确定 SE
  228.        $game_system.se_play($data_system.decision_se)
  229.        # 切换到物品画面
  230.        $scene = Scene_Item.new
  231.      when 1  # 装备
  232.        # 演奏确定 SE
  233.        $game_system.se_play($data_system.decision_se)
  234.        # 激活状态窗口
  235.        @command_window.active = false
  236.        $scene = Scene_Equip.new
  237.      when 2  # 存档
  238.        # 禁止存档的情况下
  239.        if $game_system.save_disabled
  240.          # 演奏冻结 SE
  241.          $game_system.se_play($data_system.buzzer_se)
  242.          return
  243.        end
  244.        # 演奏确定 SE
  245.        $game_system.se_play($data_system.decision_se)
  246.        # 切换到存档画面
  247.        $scene = Scene_Save.new
  248.      when 3  # 状态
  249.        # 演奏确定 SE
  250.        $game_system.se_play($data_system.decision_se)
  251.        $scene=Scene_End.new
  252.      end
  253.      return
  254.    end
  255. end
  256. end
  257. #===============================================================================
  258. #本脚本所有权归小柯一人所有 除非共享该脚本 否则不得善自修改使用  66RPG        #
  259. #===============================================================================
复制代码

就是这个脚本,
如何做到里面的那个时间框显示出来后就不消失,
一直显示着?

[LINE]1,#dddddd[/LINE]
就是说菜单没了也继续显示,
但是得先打开菜单

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2007-6-13
帖子
458
3
发表于 2007-8-2 02:21:58 | 只看该作者
我测试了啊,在菜单里显示时间是不是??那没有消失呀,就是你的时间不动啊啊
空 憂 憂
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
13 小时
注册时间
2007-6-13
帖子
458
4
发表于 2007-8-2 02:25:25 | 只看该作者
增加一个循环的事件脚本.
空 憂 憂
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2006-11-30
帖子
60
5
发表于 2007-8-2 02:37:16 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

剑·法

梦石
0
星屑
55
在线时间
12 小时
注册时间
2006-8-31
帖子
1015
6
发表于 2007-8-2 02:45:47 | 只看该作者
这个菜单,进入“装备”,退出,自动跳到“写日记”;进入“写日记”,退出,自动跳到“离开菜单”下面一行;进入“离开菜单”,退出,跳到其下第二行!
{/pz}
复活?复活!XD
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3309
在线时间
3620 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

7
 楼主| 发表于 2009-6-12 08:00:00 | 只看该作者
跟本没有LZ说的那个错误……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-13 13:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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