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

Project1

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

[已经解决] 关于选择窗口刷新的脚本问题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4422
在线时间
1911 小时
注册时间
2010-12-21
帖子
2365
跳转到指定楼层
1
发表于 2011-1-3 10:37:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 黄亦天 于 2011-1-4 16:21 编辑

我根据夕阳大大的教程,在ESC菜单里添加了一个“系统设置”选项,
然后我仿造原理复制了一个Scene_End进行改写,改成了我所需的Scene_Shezhi(好吧我英语无力)
目前功能上毫无问题,但是选择之后必须再返回一下再进入才能刷新选项内容,怎么做才能让其按下确认键之后就进行刷新?
以下是我改的脚本:
  1. #==============================================================================
  2. # ** Scene_Shezhi
  3. #------------------------------------------------------------------------------
  4. #  这个类用来执行设置界面的程式。
  5. #==============================================================================

  6. class Scene_Shezhi < Scene_Base

  7.   #--------------------------------------------------------------------------
  8.   # * 程式开始
  9.   #--------------------------------------------------------------------------
  10.   def start
  11.     super
  12.     create_menu_background
  13.     create_command_window
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # * 程式开始后的处理
  17.   #--------------------------------------------------------------------------
  18.   def post_start
  19.     super
  20.     open_command_window
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # * 程式终止前的处理
  24.   #--------------------------------------------------------------------------
  25.   def pre_terminate
  26.     super
  27.     close_command_window
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # * 程式终止
  31.   #--------------------------------------------------------------------------
  32.   def terminate
  33.     super
  34.     dispose_command_window
  35.     dispose_menu_background
  36.   end
  37.   #--------------------------------------------------------------------------
  38.   # * 返回之前的画面
  39.   #--------------------------------------------------------------------------
  40.   def return_scene
  41.     $scene = Scene_Menu.new(6)
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # * 更新帧
  45.   #--------------------------------------------------------------------------
  46.   def update
  47.     super
  48.     update_menu_background
  49.     @command_window.update
  50.     if Input.trigger?(Input::B)
  51.       Sound.play_cancel
  52.       return_scene
  53.     elsif Input.trigger?(Input::C)
  54.       case @command_window.index
  55.       when 0  # 金钱得失提示
  56.         command_Gtishi
  57.       when 1  # 物品得失提示
  58.         command_Wtishi
  59.       when 2  # 队伍系统开关
  60.         command_Psystem
  61.       end
  62.     end
  63.   end
  64.   #--------------------------------------------------------------------------
  65.   # * 针对选单界面更改屏幕背景
  66.   #--------------------------------------------------------------------------
  67.   def update_menu_background
  68.     super
  69.     @menuback_sprite.tone.set(0, 0, 0, 128)
  70.   end
  71.   #--------------------------------------------------------------------------
  72.   # * 创建命令窗口
  73.   #--------------------------------------------------------------------------
  74.   def create_command_window
  75.     if $game_switches[5] == false
  76.       s1 = "关闭得失金钱提示"
  77.     else
  78.       s1 = "开启得失金钱提示"
  79.     end
  80.     if $game_switches[6] == false
  81.       s2 = "关闭得失物品提示"
  82.     else
  83.       s2 = "开启得失物品提示"
  84.     end
  85.     if $game_switches[1] == true
  86.       s3 = "关闭队伍系统"
  87.     else
  88.       s3 = "开启队伍系统"
  89.     end
  90.     @command_window = Window_Command.new(200, [s1, s2, s3])
  91.     @command_window.x = 25
  92.     @command_window.y = 25
  93.     @command_window.openness = 0
  94.   end
  95.   #--------------------------------------------------------------------------
  96.   # * 清除命令窗口
  97.   #--------------------------------------------------------------------------
  98.   def dispose_command_window
  99.     @command_window.dispose
  100.   end
  101.   #--------------------------------------------------------------------------
  102.   # * 展开命令窗口
  103.   #--------------------------------------------------------------------------
  104.   def open_command_window
  105.     @command_window.open
  106.     begin
  107.       @command_window.update
  108.       Graphics.update
  109.     end until @command_window.openness == 255
  110.   end
  111.   #--------------------------------------------------------------------------
  112.   # * 合拢命令窗口
  113.   #--------------------------------------------------------------------------
  114.   def close_command_window
  115.     @command_window.close
  116.     begin
  117.       @command_window.update
  118.       Graphics.update
  119.     end until @command_window.openness == 0
  120.   end
  121. end

  122.   #--------------------------------------------------------------------------
  123.   # * 当执行[金钱得失提示]时的处理
  124.   #--------------------------------------------------------------------------
  125.   def command_Gtishi
  126.     Sound.play_decision
  127.     if $game_switches[5] == false
  128.       s1 = "关闭得失金钱提示"
  129.       $game_switches[5] = true
  130.     else
  131.       s1 = "开启得失金钱提示"
  132.       $game_switches[5] = false
  133.     end
  134.   end
  135.   #--------------------------------------------------------------------------
  136.   # * 当执行[物品得失提示]时的处理
  137.   #--------------------------------------------------------------------------
  138.   def command_Wtishi
  139.     Sound.play_decision
  140.     if $game_switches[6] == false
  141.       s2 = "关闭得失物品提示"
  142.       $game_switches[6] = true
  143.       $game_switches[7] = true
  144.       $game_switches[8] = true
  145.     else
  146.       s2 = "开启得失物品提示"
  147.       $game_switches[6] = false
  148.       $game_switches[7] = false
  149.       $game_switches[8] = false
  150.     end
  151.   end
  152.   #--------------------------------------------------------------------------
  153.   # *  当执行[队伍系统开关]时的处理
  154.   #--------------------------------------------------------------------------
  155.   def command_Psystem
  156.     Sound.play_decision
  157.     if $game_switches[1] == true
  158.       s1 = "关闭队伍系统"
  159.       $game_switches[1] = false
  160.     else
  161.       s1 = "开启队伍系统"
  162.       $game_switches[1] = true
  163.     end
  164.   end

复制代码

点评

2楼已修改  发表于 2011-1-3 11:24
绿坝娘素材库企划

素材库获取方法:暂时中止,需求者私聊。

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42668
在线时间
7616 小时
注册时间
2009-7-6
帖子
13506

开拓者贵宾

2
发表于 2011-1-3 10:57:40 | 只看该作者
本帖最后由 fux2 于 2011-1-3 11:24 编辑

回复 黄亦天 的帖子

刚才会错意,s1,s2什么的是局部变量,修改了对窗口自然无影响,而创建窗口的时候是通过变量判断文字显示的,所以重新打开会改变。建议增加refresh方法或dispose重新创建窗口。

点评

问题就是不会写啊……(表示能改成这样已经是全部实力了……)  发表于 2011-1-3 11:39
没啥效果的说…… 总感觉应该是加个什么东西到最后那三个def里……  发表于 2011-1-3 11:14
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4422
在线时间
1911 小时
注册时间
2010-12-21
帖子
2365
3
 楼主| 发表于 2011-1-4 14:10:23 | 只看该作者
自顶一下……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
4
发表于 2011-1-4 16:07:57 | 只看该作者
  1. #==============================================================================
  2. # ** Scene_Shezhi
  3. #------------------------------------------------------------------------------
  4. #  这个类用来执行设置界面的程式。
  5. #==============================================================================

  6. class Scene_Shezhi < Scene_Base

  7.   #--------------------------------------------------------------------------
  8.   # * 程式开始
  9.   #--------------------------------------------------------------------------
  10.   def start
  11.     super
  12.     create_menu_background
  13.     create_command_window
  14.   end
  15.   #--------------------------------------------------------------------------
  16.   # * 程式开始后的处理
  17.   #--------------------------------------------------------------------------
  18.   def post_start
  19.     super
  20.     open_command_window
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # * 程式终止前的处理
  24.   #--------------------------------------------------------------------------
  25.   def pre_terminate
  26.     super
  27.     close_command_window
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # * 程式终止
  31.   #--------------------------------------------------------------------------
  32.   def terminate
  33.     super
  34.     dispose_command_window
  35.     dispose_menu_background
  36.   end
  37.   #--------------------------------------------------------------------------
  38.   # * 返回之前的画面
  39.   #--------------------------------------------------------------------------
  40.   def return_scene
  41.     $scene = Scene_Menu.new(6)
  42.   end
  43.   #--------------------------------------------------------------------------
  44.   # * 更新帧
  45.   #--------------------------------------------------------------------------
  46.   def update
  47.     super
  48.     update_menu_background
  49.     @command_window.update
  50.     if Input.trigger?(Input::B)
  51.       Sound.play_cancel
  52.       return_scene
  53.     elsif Input.trigger?(Input::C)
  54.       index = @command_window.index
  55.       case index
  56.       when 0  # 金钱得失提示
  57.         command_Gtishi
  58.       when 1  # 物品得失提示
  59.         command_Wtishi
  60.       when 2  # 队伍系统开关
  61.         command_Psystem
  62.       end
  63.       refresh
  64.       @command_window.index = index
  65.     end
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # * 针对选单界面更改屏幕背景
  69.   #--------------------------------------------------------------------------
  70.   def update_menu_background
  71.     super
  72.     @menuback_sprite.tone.set(0, 0, 0, 128)
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # * 创建命令窗口
  76.   #--------------------------------------------------------------------------
  77.   def create_command_window
  78.     if $game_switches[5] == false
  79.       s1 = "关闭得失金钱提示"
  80.     else
  81.       s1 = "开启得失金钱提示"
  82.     end
  83.     if $game_switches[6] == false
  84.       s2 = "关闭得失物品提示"
  85.     else
  86.       s2 = "开启得失物品提示"
  87.     end
  88.     if $game_switches[1] == true
  89.       s3 = "关闭队伍系统"
  90.     else
  91.       s3 = "开启队伍系统"
  92.     end
  93.     @command_window = Window_Command.new(200, [s1, s2, s3])
  94.     @command_window.x = 25
  95.     @command_window.y = 25
  96.     @command_window.openness = 0
  97.   end
  98.   #--------------------------------------------------------------------------
  99.   # * 刷新
  100.   #--------------------------------------------------------------------------
  101.   def refresh
  102.     @command_window.dispose
  103.     if $game_switches[5] == false
  104.       s1 = "关闭得失金钱提示"
  105.     else
  106.       s1 = "开启得失金钱提示"
  107.     end
  108.     if $game_switches[6] == false
  109.       s2 = "关闭得失物品提示"
  110.     else
  111.       s2 = "开启得失物品提示"
  112.     end
  113.     if $game_switches[1] == true
  114.       s3 = "关闭队伍系统"
  115.     else
  116.       s3 = "开启队伍系统"
  117.     end
  118.     @command_window = Window_Command.new(200, [s1, s2, s3])
  119.     @command_window.x = 25
  120.     @command_window.y = 25
  121.   end
  122.   #--------------------------------------------------------------------------
  123.   # * 清除命令窗口
  124.   #--------------------------------------------------------------------------
  125.   def dispose_command_window
  126.     @command_window.dispose
  127.   end
  128.   #--------------------------------------------------------------------------
  129.   # * 展开命令窗口
  130.   #--------------------------------------------------------------------------
  131.   def open_command_window
  132.     @command_window.open
  133.     begin
  134.       @command_window.update
  135.       Graphics.update
  136.     end until @command_window.openness == 255
  137.   end
  138.   #--------------------------------------------------------------------------
  139.   # * 合拢命令窗口
  140.   #--------------------------------------------------------------------------
  141.   def close_command_window
  142.     @command_window.close
  143.     begin
  144.       @command_window.update
  145.       Graphics.update
  146.     end until @command_window.openness == 0
  147.   end
  148.   #--------------------------------------------------------------------------
  149.   # * 当执行[金钱得失提示]时的处理
  150.   #--------------------------------------------------------------------------
  151.   def command_Gtishi
  152.     Sound.play_decision
  153.     if $game_switches[5] == false
  154.       $game_switches[5] = true
  155.     else
  156.       $game_switches[5] = false
  157.     end
  158.   end
  159.   #--------------------------------------------------------------------------
  160.   # * 当执行[物品得失提示]时的处理
  161.   #--------------------------------------------------------------------------
  162.   def command_Wtishi
  163.     Sound.play_decision
  164.     if $game_switches[6] == false
  165.       $game_switches[6] = true
  166.       $game_switches[7] = true
  167.       $game_switches[8] = true
  168.     else
  169.       $game_switches[6] = false
  170.       $game_switches[7] = false
  171.       $game_switches[8] = false
  172.     end
  173.   end
  174.   #--------------------------------------------------------------------------
  175.   # *  当执行[队伍系统开关]时的处理
  176.   #--------------------------------------------------------------------------
  177.   def command_Psystem
  178.     Sound.play_decision
  179.     if $game_switches[1] == true
  180.       $game_switches[1] = false
  181.     else
  182.       $game_switches[1] = true
  183.     end
  184.   end
  185. end
复制代码

点评

大感谢的说~~  发表于 2011-1-4 16:16

评分

参与人数 2星屑 +920 收起 理由
八云紫 + 800 认可答案
黄亦天 + 120 个人认可

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-23 12:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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