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

Project1

 找回密码
 注册会员
搜索

人物加点脚本无法显示!!

查看数: 1334 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-5-1 15:03

正文摘要:

本帖最后由 myownroc 于 2014-6-7 17:17 编辑 版主按:这里需要一个@test RUBY 代码复制#==============================================================================# 本脚本来 ...

回复

风若·飘絮 发表于 2014-5-1 19:10:16
本帖最后由 myownroc 于 2014-6-7 17:14 编辑

把游戏时间给去了,LZ用这个覆盖原有的Scene_Menu脚本就可以了

RUBY 代码复制
  1. #==============================================================================
  2. # ■ Window_Steps
  3. #------------------------------------------------------------------------------
  4. #  菜单画面显示步数的窗口。
  5. #==============================================================================
  6.  
  7. class Window_Steps < Window_Base
  8.   #--------------------------------------------------------------------------
  9.   # ● 初始化对像
  10.   #--------------------------------------------------------------------------
  11.   def initialize
  12.     super(0, 0, 160, 156)
  13.     self.contents = Bitmap.new(width - 32, height - 32)
  14.     refresh
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ● 刷新
  18.   #--------------------------------------------------------------------------
  19.   def refresh
  20.     self.contents.clear
  21.     self.contents.font.color = system_color
  22.     self.contents.draw_text(4, 0, 120, 32, "步数")
  23.     self.contents.font.color = normal_color
  24.     self.contents.draw_text(4, 32, 120, 32, $game_party.steps.to_s, 2)
  25.   end
  26. end
  27. #==============================================================================
  28. # ■ Scene_Menu
  29. #------------------------------------------------------------------------------
  30. #  处理菜单画面的类。
  31. #==============================================================================
  32.  
  33. class Scene_Menu
  34.   #--------------------------------------------------------------------------
  35.   # ● 初始化对像
  36.   #     menu_index : 命令光标的初期位置
  37.   #--------------------------------------------------------------------------
  38.   def initialize(menu_index = 0)
  39.     @menu_index = menu_index
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ● 主处理
  43.   #--------------------------------------------------------------------------
  44.   def main
  45.     # 生成命令窗口
  46.     s1 = $data_system.words.item
  47.     s2 = $data_system.words.skill
  48.     s3 = $data_system.words.equip
  49.     s4 = "状态"
  50.     s5 = "存档"
  51.     s6 = "结束游戏"
  52.     s7 = "升级加点"
  53.     @command_window = Window_Command.new(160, [s1, s2, s3, s4,s5, s6,s7])
  54.     @command_window.index = @menu_index
  55.     # 同伴人数为 0 的情况下
  56.     if $game_party.actors.size == 0
  57.       # 物品、特技、装备、状态无效化
  58.       @command_window.disable_item(0)
  59.       @command_window.disable_item(1)
  60.       @command_window.disable_item(2)
  61.       @command_window.disable_item(3)
  62.     end
  63.     # 禁止存档的情况下
  64.     if $game_system.save_disabled
  65.       # 存档无效
  66.       @command_window.disable_item(4)
  67.     end
  68.     # 生成步数窗口
  69.     @steps_window = Window_Steps.new
  70.     @steps_window.x = 0
  71.     @steps_window.y = 260
  72.     # 生成金钱窗口
  73.     @gold_window = Window_Gold.new
  74.     @gold_window.x = 0
  75.     @gold_window.y = 416
  76.     # 生成状态窗口
  77.     @status_window = Window_MenuStatus.new
  78.     @status_window.x = 160
  79.     @status_window.y = 0
  80.     # 执行过渡
  81.     Graphics.transition
  82.     # 主循环
  83.     loop do
  84.       # 刷新游戏画面
  85.       Graphics.update
  86.       # 刷新输入信息
  87.       Input.update
  88.       # 刷新画面
  89.       update
  90.       # 如果切换画面就中断循环
  91.       if $scene != self
  92.         break
  93.       end
  94.     end
  95.     # 准备过渡
  96.     Graphics.freeze
  97.     # 释放窗口
  98.     @command_window.dispose
  99.  
  100.     @steps_window.dispose
  101.     @gold_window.dispose
  102.     @status_window.dispose
  103.   end
  104.   #--------------------------------------------------------------------------
  105.   # ● 刷新画面
  106.   #--------------------------------------------------------------------------
  107.   def update
  108.     # 刷新窗口
  109.     @command_window.update
  110.  
  111.     @steps_window.update
  112.     @gold_window.update
  113.     @status_window.update
  114.     # 命令窗口被激活的情况下: 调用 update_command
  115.     if @command_window.active
  116.       update_command
  117.       return
  118.     end
  119.     # 状态窗口被激活的情况下: 调用 update_status
  120.     if @status_window.active
  121.       update_status
  122.       return
  123.     end
  124.   end
  125.   #--------------------------------------------------------------------------
  126.   # ● 刷新画面 (命令窗口被激活的情况下)
  127.   #--------------------------------------------------------------------------
  128.   def update_command
  129.     # 按下 B 键的情况下
  130.     if Input.trigger?(Input::B)
  131.       # 演奏取消 SE
  132.       $game_system.se_play($data_system.cancel_se)
  133.       # 切换的地图画面
  134.       $scene = Scene_Map.new
  135.       return
  136.     end
  137.     # 按下 C 键的情况下
  138.     if Input.trigger?(Input::C)
  139.       # 同伴人数为 0、存档、游戏结束以外的场合
  140.       if $game_party.actors.size == 0 and @command_window.index < 4
  141.         # 演奏冻结 SE
  142.         $game_system.se_play($data_system.buzzer_se)
  143.         return
  144.       end
  145.       # 命令窗口的光标位置分支
  146.       case @command_window.index
  147.       when 0  # 物品
  148.         # 演奏确定 SE
  149.         $game_system.se_play($data_system.decision_se)
  150.         # 切换到物品画面
  151.         $scene = Scene_Item.new
  152.       when 1  # 特技
  153.         # 演奏确定 SE
  154.         $game_system.se_play($data_system.decision_se)
  155.         # 激活状态窗口
  156.         @command_window.active = false
  157.         @status_window.active = true
  158.         @status_window.index = 0
  159.       when 2  # 装备
  160.         # 演奏确定 SE
  161.         $game_system.se_play($data_system.decision_se)
  162.         # 激活状态窗口
  163.         @command_window.active = false
  164.         @status_window.active = true
  165.         @status_window.index = 0
  166.       when 3  # 状态
  167.         # 演奏确定 SE
  168.         $game_system.se_play($data_system.decision_se)
  169.         # 激活状态窗口
  170.         @command_window.active = false
  171.         @status_window.active = true
  172.         @status_window.index = 0
  173.       when 4  # 存档
  174.         # 禁止存档的情况下
  175.         if $game_system.save_disabled
  176.           # 演奏冻结 SE
  177.           $game_system.se_play($data_system.buzzer_se)
  178.           return
  179.         end
  180.         # 演奏确定 SE
  181.         $game_system.se_play($data_system.decision_se)
  182.         # 切换到存档画面
  183.         $scene = Scene_Save.new
  184.       when 5  # 游戏结束
  185.         # 演奏确定 SE
  186.         $game_system.se_play($data_system.decision_se)
  187.         # 切换到游戏结束画面
  188.         $scene = Scene_End.new
  189.          when 6 # 加点
  190.         @command_window.active = false
  191.         @status_window.active = true
  192.         @status_window.index = 0
  193.       end
  194.       return
  195.     end
  196.   end
  197.   #--------------------------------------------------------------------------
  198.   # ● 刷新画面 (状态窗口被激活的情况下)
  199.   #--------------------------------------------------------------------------
  200.   def update_status
  201.     # 按下 B 键的情况下
  202.     if Input.trigger?(Input::B)
  203.       # 演奏取消 SE
  204.       $game_system.se_play($data_system.cancel_se)
  205.       # 激活命令窗口
  206.       @command_window.active = true
  207.       @status_window.active = false
  208.       @status_window.index = -1
  209.       return
  210.     end
  211.     # 按下 C 键的情况下
  212.     if Input.trigger?(Input::C)
  213.       # 命令窗口的光标位置分支
  214.       case @command_window.index
  215.       when 1  # 特技
  216.         # 本角色的行动限制在 2 以上的情况下
  217.         if $game_party.actors[@status_window.index].restriction >= 2
  218.           # 演奏冻结 SE
  219.           $game_system.se_play($data_system.buzzer_se)
  220.           return
  221.         end
  222.         # 演奏确定 SE
  223.         $game_system.se_play($data_system.decision_se)
  224.         # 切换到特技画面
  225.         $scene = Scene_Skill.new(@status_window.index)
  226.       when 2  # 装备
  227.         # 演奏确定 SE
  228.         $game_system.se_play($data_system.decision_se)
  229.         # 切换的装备画面
  230.         $scene = Scene_Equip.new(@status_window.index)
  231.       when 3  # 状态
  232.         # 演奏确定 SE
  233.         $game_system.se_play($data_system.decision_se)
  234.         # 切换到状态画面
  235.         $scene = Scene_Status.new(@status_window.index)
  236.  
  237.       when 6 #升级加点
  238.         $scene = Scene_Lvup.new(@status_window.index,0)
  239.       end
  240.       return
  241.     end
  242.   end
  243. end

评分

参与人数 1星屑 +150 收起 理由
myownroc + 150 我很赞同

查看全部评分

风若·飘絮 发表于 2014-5-1 19:05:39
有没有考虑过修改菜单选项后会影响显示?
heiwang1997 发表于 2014-5-1 18:21:14
在事件中输入脚本就能呼出界面了:
RUBY 代码复制
  1. $scene = Scene_Lvup.new

如果要在菜单中显示的话,就要修改脚本中的Scene_Menu,很麻烦的……而且还要设计界面什么的
建议把不常用的选项,例如“状态”,改为加点,这样应该能节省不少功夫
木讷 发表于 2014-5-1 15:04:44
菜单里显示不出来怎么处理
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-28 22:19

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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