查看: 2134|回复: 5

[已经解决] 怎么让一个变量显示在界面上,并且受某个开关控制是否...

[复制链接]
梦石
0
星屑
55
在线时间
55 小时
注册时间
2011-7-15
回帖
30
发表于 2013-6-20 16:36:04 | 显示全部楼层 |阅读模式

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

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

×
开关开时,变量就显示。开关关时,变量不显示。最好窗口能在右下角
梦石
0
星屑
136
在线时间
1050 小时
注册时间
2006-5-3
回帖
602
发表于 2013-6-20 17:45:07 | 显示全部楼层
本帖最后由 gaofei677 于 2013-6-20 17:47 编辑

用下面这个显示变量脚本就行


[pre lang="ruby" line="1"]#==========================================================================
# 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。
#==========================================================================

VAR_SWITCH = 26          # 26号开关打开此脚本才工作,关闭则停止运算,并且透明
VAR_REFRESH_SWITCH = 27  # 27号开关控制强制刷新,使用时机:1、把窗口由透明变为不透明(包括第一次使用时),2、游戏中用脚本更改了$var

$var = []
$var = [[13,280,10],[7,280,45],[1,280,80],[14,280,115]] #所有需要显示在地图并且刷新的变量,可在游戏中用脚本更改。格式:[变量编号,x坐标,y坐标]

#==============================================================================
# ■ Window_XY
#------------------------------------------------------------------------------
#  显示坐标的窗口。
#==============================================================================
class Window_Var < Window_Base#注意前面那个window_var是文件名
#--------------------------------------------------------------------------
# ● 初始化窗口
#--------------------------------------------------------------------------
def initialize
  super(-16, -16, 640+32, 480+32)#最后面那个数字是宽要显示多个需要改大,前面一个是长~
  self.contents = Bitmap.new(width - 32, height - 32)
  self.back_opacity = 255  # 这个是背景透明
  self.opacity = 255       # 这个是边框和背景都透明
  self.contents_opacity = 255       # 这个是内容透明
  self.visible = false
  self.z=9999
  @var = $var
  @var_a = []
  for var_draw in $var
    @var_a[var_draw[0]] = $game_variables[var_draw[0]]
  end   
  refresh
end

#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
  if $game_switches[VAR_SWITCH]
    @var = $var         # 记录现在变量数组结构
    self.contents.clear # 清除以前的东西
    for var_draw in @var
      @var_a[var_draw[0]] = $game_variables[var_draw[0]] # 记录现在的游戏变量
      
      self.contents.draw_text(var_draw[1],var_draw[2],640,32,@var_a[var_draw[0]].to_s)
    end
  end
end
#--------------------------------------------------------------------------
# ● 判断文字刷新。节约内存用
#--------------------------------------------------------------------------
def judge
  for var_draw in $var
    if @var_a[var_draw[0]] != $game_variables[var_draw[0]] #如果现在记录的变量和游戏变量不同,刷新
      return true
    end
  end
  if $game_switches[VAR_REFRESH_SWITCH]  # 强制刷新的时候,刷新
    $game_switches[VAR_REFRESH_SWITCH] = false
    return true
  end
  return false
end
end

class Scene_Map
alias  old_start start
def start
old_start
@var_window = Window_Var.new
  @var_window.opacity = 0
  end
#--------------------------------------------------------------------------
# ● 刷新画面
#--------------------------------------------------------------------------
alias var_66rpg_update update
def update
  var_66rpg_update
  if $game_switches[VAR_SWITCH]
    @var_window.visible = true      
    @var_window.refresh if @var_window.judge
  else
    @var_window.visible = false
  end
end
end
#==========================================================================
# 本脚本来自www.66rpg.com,用于任何游戏请保留此信息。
#==========================================================================[/pre]

点评

这个变量前能假名字吗?比如体力,声望啥的。  发表于 2013-6-21 10:08
漏夏同人
《咱的夏天》
下载地址:http://tieba.baidu.com/p/2681607456
人员招募:http://rpg.blue/thread-339747-1-1.html
回复

使用道具 举报

梦石
0
星屑
136
在线时间
1050 小时
注册时间
2006-5-3
回帖
602
发表于 2013-6-21 10:52:59 | 显示全部楼层
那你就行显示两个变量
比如 你要显示   护甲  100
变量1 = "护甲"
变量2 = 100

你在如下图的地方


QQ截图20130621094656.png

在里面写
  1. $game_variables[1] = “护甲”
复制代码
(这个是指把 “护甲” 这两个汉字带入变量1)

然后 变量2 就是 “护甲”的数值,就按你平时的处理方式增减就行

然后在这个脚本的第九行写
$var = [[1,280,10],[2,280,45]]
这样就行了,楼主去试试

点评

把第九行更改成那个,还是增添一行?  发表于 2013-6-21 11:44
变量可以是名称文字吗?  发表于 2013-6-21 11:25

评分

参与人数 1星屑 -40 梦石 +1 收起 理由
怪蜀黍 -40 + 1 认可答案+4连帖违规

查看全部评分

漏夏同人
《咱的夏天》
下载地址:http://tieba.baidu.com/p/2681607456
人员招募:http://rpg.blue/thread-339747-1-1.html
回复

使用道具 举报

梦石
0
星屑
136
在线时间
1050 小时
注册时间
2006-5-3
回帖
602
发表于 2013-6-21 11:28:24 | 显示全部楼层
变量可以以任何形式出现,不仅仅只能是数字,只是系统提供事件里面只能带数字进入变量,不过我们可以用脚本带入其他形式的东西进去
漏夏同人
《咱的夏天》
下载地址:http://tieba.baidu.com/p/2681607456
人员招募:http://rpg.blue/thread-339747-1-1.html
回复

使用道具 举报

梦石
0
星屑
136
在线时间
1050 小时
注册时间
2006-5-3
回帖
602
发表于 2013-6-21 11:50:09 | 显示全部楼层
更改....
回复

使用道具 举报

梦石
0
星屑
55
在线时间
55 小时
注册时间
2011-7-15
回帖
30
 楼主| 发表于 2013-6-21 13:25:17 | 显示全部楼层
gaofei677 发表于 2013-6-21 11:50
更改....

正常进行游戏时,加了你说在事件中加的那个脚本,就这样了。。
错误_副本.jpg

点评

引号用 "" 不要用 汉语那个引号,否则系统不能识别  发表于 2013-6-21 14:44
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部