Project1

标题: 如何把变量数值显示到游戏界面上? [打印本页]

作者: Free、    时间: 2011-1-5 21:16
提示: 作者被禁止或删除 内容自动屏蔽
作者: 黄亦天    时间: 2011-1-5 21:26
本帖最后由 黄亦天 于 2011-1-5 22:51 编辑

回复 Free、 的帖子

见此帖:http://rpg.blue/thread-163500-1-1.html

$wv 其实也可以用别的全局变量名替换,只要不和脚本冲突就可以随便写,但是要保证它是全局变量(前面带有$)。

如果要显示多个窗口,就要建立多个全局变量,不过必须都是相对应的。
作者: 一箭烂YiJL    时间: 2011-1-5 22:45
本帖最后由 一箭烂YiJL 于 2011-1-5 22:45 编辑

若果是每一个角色都要有"声望值",请修改Game_Actor(题外话)。

先弄一个窗口:
  1. class Window_ShengWang < Window_Base
  2.   def initialize(x, y)
  3.     super(x, y, 160, WLH + 32)
  4.     refresh
  5.   end
  6.   def refresh
  7.     self.contents.clear
  8.     self.contents.draw_text(4, 0, 120, WLH, $sw, 1)
  9.   end
  10. end
复制代码
self.contents.draw_text(27, -6, 120, WLH, $sw, 1) $sw就是显示的那个变数
调用窗口方法 start里加:@shengwang_window = Window_ShengWang.new
update里加:@shengwang_window.update
terminate里加:@shengwang_window.dispose
就像这样:

  1. class Scene_Menu < Scene_Base

  2.   def start
  3.     @shengwang_window = Window_ShengWang.new
  4.   end

  5.   def terminate
  6.     @shengwang_window.dispose
  7.   end

  8.   def update
  9.     @shengwang_window.update
  10.   end
  11.   
  12. end
复制代码

作者: Free、    时间: 2011-1-6 06:58
提示: 作者被禁止或删除 内容自动屏蔽
作者: fux2    时间: 2011-1-6 07:23
本帖最后由 fux2 于 2011-1-6 07:25 编辑

回复 Free、 的帖子

随手写的,坐标什么的自己改改,插入到Main上方,Scene_Map下方
VX的Scene真麻烦啊啊……
  1. $声望值 = 50
  2. class Scene_Map
  3.   alias:fux2:start
  4.   def start
  5.     fux2
  6.     @info_fux2 = Fux2.new
  7.   end
  8.   alias:fux4:update
  9.   def update
  10.     @info_fux2.update
  11.     fux4
  12.   end
  13.   alias:fux3:terminate
  14.   def terminate
  15.     fux3
  16.     @info_fux2.dispose
  17.   end
  18. end

  19. class Fux2 < Window_Base
  20.   def initialize
  21.     super(200,20,82,132)
  22.     self.opacity = 0
  23.     self.back_opacity = 0
  24.     self.contents_opacity = 255
  25.     self.contents = Bitmap.new(50, 100)
  26.   end
  27.   def update
  28.     self.contents.clear
  29.     self.contents.draw_text(0,0,50,100,"#{$声望值}声望")
  30.   end
  31. end
  32.   
复制代码

作者: 黄亦天    时间: 2011-1-6 09:56
本帖最后由 黄亦天 于 2011-1-6 10:07 编辑

回复 Free、 的帖子

如果用的是我提供的方法的话,$data_system.variables[编号]即为系统变量的名称
事件脚本里就可以这么写:
  1. $wv = Window_Base.new(窗口X座標, 窗口Y座標, 窗口寬度, 窗口高度)
  2. a = $game_variables[编号]
  3. b = "#{$data_system.variables[编号]}:#{a}"
  4. $wv.contents.draw_text(文字X座標, 文字Y座標, 文字寬度, 文字高度,b)
复制代码
显示出来的效果就是
变量名称:变量值

假如你定义这个系统变量名为“声望值”,值定义为100
显示的就是 声望值:100
" "里面 #{ }括上变量名(不是名称)就能显示这个变量的内容。
例如把上面的
  1. b = "#{$data_system.variables[编号]}:#{a}"
复制代码
改成
  1. b = "#{$data_system.variables[编号]}为#{a}"
复制代码
显示的就是
声望值为100
改为

  1. c = $game_variables[编号]
  2. b = "#{c}点#{$data_system.variables[编号]}"
复制代码
显示的就是:
100点声望值




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1