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

Project1

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

[已经解决] 如何把变量数值显示到游戏界面上?

[复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
27 小时
注册时间
2011-1-5
帖子
25
跳转到指定楼层
1
发表于 2011-1-5 21:16:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

Lv3.寻梦者

梦石
0
星屑
4397
在线时间
1910 小时
注册时间
2010-12-21
帖子
2365
2
发表于 2011-1-5 21:26:12 | 只看该作者
本帖最后由 黄亦天 于 2011-1-5 22:51 编辑

回复 Free、 的帖子

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

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

如果要显示多个窗口,就要建立多个全局变量,不过必须都是相对应的。
绿坝娘素材库企划

素材库获取方法:暂时中止,需求者私聊。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

弓箭手?剑兰

梦石
0
星屑
5454
在线时间
833 小时
注册时间
2010-11-17
帖子
1140
3
发表于 2011-1-5 22:45:24 | 只看该作者
本帖最后由 一箭烂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
复制代码
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
27 小时
注册时间
2011-1-5
帖子
25
4
 楼主| 发表于 2011-1-6 06:58:38 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

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

开拓者贵宾

5
发表于 2011-1-6 07:23:41 | 只看该作者
本帖最后由 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.   
复制代码

点评

真的简单了不少。(一直也没什么看过Scene_Base~一直只知道这个Base只提供了场景背景)  发表于 2011-1-14 13:43
建立窗口,super,dispose窗口  发表于 2011-1-14 13:25
子父类这门事儿我当然知道(话说我出过有关子父类的教程),您的意思就是在map新建main然后覆盖或者super吧~  发表于 2011-1-14 13:20
scene_base里有,继承父类  发表于 2011-1-14 12:49
scene_map有main吗?= =  发表于 2011-1-14 12:43

评分

参与人数 1星屑 +700 收起 理由
八云紫 + 700 乃不觉得每帧 draw_text 的后果么?.

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4397
在线时间
1910 小时
注册时间
2010-12-21
帖子
2365
6
发表于 2011-1-6 09:56:57 | 只看该作者
本帖最后由 黄亦天 于 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点声望值
绿坝娘素材库企划

素材库获取方法:暂时中止,需求者私聊。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-15 17:41

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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