查看: 2443|回复: 9

[已经解决] 关于 Scene Debug(XP)

[复制链接]
梦石
0
星屑
3053
在线时间
441 小时
注册时间
2014-11-21
回帖
103
发表于 2015-7-31 13:28:45 | 显示全部楼层 |阅读模式

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

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

×
是关于RPG MAKER XP的
我想在游戏中加入一个解谜元素,玩家可以通过一个机器操纵一部分开关和变量通过实验来走出迷宫。
因为迷宫比较大,用的开关和变量很多,感觉可以用 Scene Debug 来改会方便,
但是不知道怎么做。
有没有大神能做个示范比如说只能修改100-150变量,200-250开关的Scene Debug?

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2015-7-31 18:09:01 | 显示全部楼层
你是说同时操作若干个变量和若干个开关?
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

梦石
0
星屑
3053
在线时间
441 小时
注册时间
2014-11-21
回帖
103
 楼主| 发表于 2015-7-31 18:31:50 | 显示全部楼层
chd114 发表于 2015-7-31 18:09
你是说同时操作若干个变量和若干个开关?

就是可以随意操作类似内测一样,但是如果乱操做就会GG
目前想法就是有些变量名是给的,有些不给,要通过操纵给你的来推导出没给你的是干什么用的
实在不行只能自己做一个scene一个一个代入了
回复

使用道具 举报

梦石
0
星屑
56
在线时间
18 小时
注册时间
2015-7-31
回帖
52
发表于 2015-7-31 18:41:49 | 显示全部楼层
大体思路,
输入变量索引
如果在可修改内
输入值
修改
可以用事件加脚本
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2015-7-31 19:09:53 | 显示全部楼层
hy2000 发表于 2015-7-31 01:31
就是可以随意操作类似内测一样,但是如果乱操做就会GG
目前想法就是有些变量名是给的,有些不给,要通过 ...

你在工程里按F12,进入游戏按F9···我记得可以操作开关变量
如果要玩家也能这么做就把scene_map的

  1.     # 调试模式为 ON 并且按下 F9 键的情况下
  2.     if $DEBUG and Input.press?(Input::F9)
  3.       # 设置调用调试标志
  4.       $game_temp.debug_calling = true
  5.     end
复制代码
去掉那个
  1. $DEBUG and
复制代码
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

梦石
0
星屑
3053
在线时间
441 小时
注册时间
2014-11-21
回帖
103
 楼主| 发表于 2015-7-31 19:14:46 | 显示全部楼层
chd114 发表于 2015-7-31 19:09
你在工程里按F12,进入游戏按F9···我记得可以操作开关变量
如果要玩家也能这么做就把scene_map的去掉 ...

……我知道这个是用来开DEBUG的
我的问题是怎么限制它能控制的开关和变量
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2015-7-31 19:16:26 | 显示全部楼层
hy2000 发表于 2015-7-31 02:14
……我知道这个是用来开DEBUG的
我的问题是怎么限制它能控制的开关和变量 ...

首先你要知道scene_debug里面显示了什么···
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

梦石
0
星屑
3053
在线时间
441 小时
注册时间
2014-11-21
回帖
103
 楼主| 发表于 2015-7-31 19:21:49 | 显示全部楼层
chd114 发表于 2015-7-31 19:16
首先你要知道scene_debug里面显示了什么···

难道不是显示两个窗口,左边是10个1组,右面下面是说明,上面是具体内容吗?
因为RM既然本身有这种脚本我想是不是能改一改
回复

使用道具 举报

冰

梦石
0
星屑
142
在线时间
264 小时
注册时间
2006-11-22
回帖
1010
发表于 2015-8-1 21:11:17 | 显示全部楼层
101-150,201-250,行吗{:2_276:}
[pre lang="ruby"]#==============================================================================
# ■ Window_DebugLeft
#------------------------------------------------------------------------------
#  偵錯畫面、指定開關及變數區塊的視窗。
#==============================================================================

class Window_DebugLeft < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 初始化物件
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 192, 480)
    self.index = 0
    refresh
  end
  #--------------------------------------------------------------------------
  # ● 更新
  #--------------------------------------------------------------------------
  def refresh
    if self.contents != nil
      self.contents.dispose
      self.contents = nil
    end
    @switch_min=10
    @variable_min = 20
    @switch_max = 15
    @variable_max = 25
    @item_max = @switch_max + @variable_max-@switch_min-@variable_min
    self.contents = Bitmap.new(width - 32, @item_max * 32)
    for i in @switch_min...@switch_max
      text = sprintf("S [%04d-%04d]", i*10+1, i*10+10)
      self.contents.draw_text(4, (i-@switch_min) * 32, 152, 32, text)
    end
    for i in @variable_min...@variable_max
      text = sprintf("V [%04d-%04d]", i*10+1, i*10+10)
      self.contents.draw_text(4, (@switch_max-@switch_min + i - @variable_min) * 32, 152, 32, text)
    end
  end
  #--------------------------------------------------------------------------
  # ● 獲取模式
  #--------------------------------------------------------------------------
  def mode
    if self.index+@switch_min < @switch_max
      return 0
    else
      return 1
    end
  end
  #--------------------------------------------------------------------------
  # ● 獲取開頭顯示的 ID
  #--------------------------------------------------------------------------
  def top_id
    if self.index < @switch_max
      return (self.index+@switch_min) * 10 + 1
    else
      return (self.index+@variable_min - @switch_max) * 10 + 1
    end
  end
end
[/pre]

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
3053
在线时间
441 小时
注册时间
2014-11-21
回帖
103
 楼主| 发表于 2015-8-1 21:23:56 | 显示全部楼层
3535 发表于 2015-8-1 21:11
101-150,201-250,行吗
#==================================================================== ...

解决了问题!十分感谢!
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部