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

Project1

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

[已经解决] 求指点一下如何提出变量自己输入的文字

[复制链接]

Lv2.观梦者

梦石
0
星屑
596
在线时间
797 小时
注册时间
2014-7-1
帖子
578

开拓者

跳转到指定楼层
1
发表于 2016-5-8 11:11:19 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 jiushiainilip19 于 2016-5-9 00:16 编辑

自己摸索了一下午 搜索了一些资料 结果改成这样 。。。不知道还有方法更简便一点吗?

还是想问下如何直接将变量里面的文字说明直接输出来!
RUBY 代码复制
  1. #开关显示窗口
  2. $不显示金钱窗口=1073
  3. #需要显示的变量号
  4. #XX是变量对应游戏的文字数值
  5. $需求=[27,57,32,60,59,58,3841,99,3883,1107]
  6. class Game_Variables
  7.   def []=(variable_id, value)
  8.     if variable_id <= 5000
  9.       # 变量获得提示
  10.       $需求.each do |x|
  11.       if variable_id == x && $game_switches[$不显示金钱窗口]==false
  12.         unless $game_temp.in_battle
  13.         old_value = self[variable_id]
  14.         value_changed = value - old_value
  15.         carol3_66RPG = Window_Base.new((640-160)/2,128,180,100)
  16.         carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
  17.         if value_changed >= 0
  18.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX+:"+value_changed.abs.to_s) if variable_id ==27
  19.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX+:"+value_changed.abs.to_s) if variable_id ==57
  20.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX+:"+value_changed.abs.to_s) if variable_id ==32
  21.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX+:"+value_changed.abs.to_s) if variable_id ==60
  22.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX+:"+value_changed.abs.to_s) if variable_id ==59
  23.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX+:"+value_changed.abs.to_s) if variable_id ==58
  24.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX+:"+value_changed.abs.to_s) if variable_id ==3841
  25.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX+:"+value_changed.abs.to_s) if variable_id ==99
  26.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX+:"+value_changed.abs.to_s) if variable_id ==3883
  27.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX+:"+value_changed.abs.to_s) if variable_id ==1107
  28.           #——声效,可以自己改
  29.           Audio.se_play("Audio/SE/"+"006-System06",80,100)
  30.         else
  31.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX-:"+value_changed.abs.to_s) if variable_id ==27
  32.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX-:"+value_changed.abs.to_s) if variable_id ==57
  33.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX-:"+value_changed.abs.to_s) if variable_id ==32
  34.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX-:"+value_changed.abs.to_s) if variable_id ==60
  35.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX-:"+value_changed.abs.to_s) if variable_id ==59
  36.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX-:"+value_changed.abs.to_s) if variable_id ==58
  37.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX-:"+value_changed.abs.to_s) if variable_id ==3841
  38.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX-:"+value_changed.abs.to_s) if variable_id ==3841
  39.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX-:"+value_changed.abs.to_s) if variable_id ==99
  40.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX-:"+value_changed.abs.to_s) if variable_id ==3883
  41.           carol3_66RPG.contents.draw_text(0,0,240,32,"XX-:"+value_changed.abs.to_s) if variable_id ==1107
  42.           #——声效,可以自己改
  43.           Audio.se_play("Audio/SE/"+"005-System05",80,100)
  44.         end     
  45.         carol3_66RPG.opacity = 160
  46.         for i in 0..30
  47.           Graphics.update
  48.         end
  49.         for i in 0..10
  50.           carol3_66RPG.opacity -= 30
  51.           carol3_66RPG.contents_opacity -= 30
  52.           Graphics.update
  53.         end
  54.         carol3_66RPG.dispose
  55.       end
  56.     end
  57.   end
  58.  
  59.       @data[variable_id] = value
  60.     end
  61.   end
  62. end

QQ截图20160509110758.png (3.05 KB, 下载次数: 7)

QQ截图20160509110758.png

评分

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

查看全部评分

学习使我疲劳,打工使我疲惫,恋爱使我伤身,吸烟伤我肺腑,饮酒损我形象,旅游使我破费,月底不见铜板,只有在论坛里面看看各种大佬才能使我进去

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

2
发表于 2016-5-9 08:45:50 | 只看该作者
楼主的脚本还需要进一步学习。

下面是我写的这个。没测试,可能有笔误,楼主看到哪里不能运行可以自行修正

RUBY 代码复制
  1. module RB
  2.   # 打开 X 号开关后屏蔽变量提示
  3.   No_Variable_Window = 5
  4.  
  5.   # 监视的变量
  6.   Variables_Monitor = [27, 57, 32, 60, 59, 58, 3841, 99, 3883, 1107]
  7.  
  8. end
  9.  
  10. class Game_Variables
  11.   include RB
  12.   alias rb_assign_160509 []=
  13.   def []=(id, value)
  14.     on_changing(id, value)
  15.     rb_assign_160509(id, value)
  16.   end
  17.   def on_changing(id, value)
  18.     return if $game_switches[No_Variable_Window] || !Varables_Monitor.include?(id) || !$game_temp.in_battle
  19.     old_value = self[id]
  20.     value_changed = value - old_value
  21.     var_window = Window_Base.new((640-160)/2,128,180,100)
  22.     var_window.contents = Bitmap.new(var_window.width - 32, var_window.height - 32)
  23.     text = sprintf("XX%+d", value_changed)
  24.     var_window.contents.draw_text(0,0,148,32,text)
  25.     se_filename = value_changed > 0 "006-System06" : "005-System05"
  26.     Audio.se_play("Audio/SE/#{se_filename}", 80, 100)
  27.     30.times { Graphics.update }
  28.     10.times { var_window.opacity -= 30; var_window.contents_opacity -= 30; Graphics.update; }
  29.     var_window.dispose
  30.   end
  31. end

点评

剩下的我自己去学习!3Q!  发表于 2016-5-9 12:35

评分

参与人数 1星屑 +20 收起 理由
jiushiainilip19 + 20 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
596
在线时间
797 小时
注册时间
2014-7-1
帖子
578

开拓者

3
 楼主| 发表于 2016-5-9 10:13:51 | 只看该作者
本帖最后由 jiushiainilip19 于 2016-5-9 11:19 编辑

非常感谢 一些错误已经更正了 不过还有个问题
RUBY 代码复制
  1. text = sprintf("XX%+d", value_changed)


这个好像不能对应变量ID中的文字进行输出   只能输出指定"XX%+d"中的XX

这个XX是固定死的,,,

比如变量1=灵魂   变量2=面包  变量3=坦克 等等。。。等等。。。。


或者我直接用分歧的方法去判断text对应的监视变量 修改后结果

RUBY 代码复制
  1. module RB
  2.   # 打开 X 号开关后屏蔽变量提示
  3.   No_Variable_Window = 1073
  4.  
  5.   # 监视的变量
  6.   Variables_Monitor = [27, 57, 32, 60, 59, 58, 3841, 99, 3883, 1107]
  7.  
  8. end
  9.  
  10. class Game_Variables
  11.   include RB
  12.   alias rb_assign_160509 []=
  13.   def []=(id, value)
  14.     on_changing(id, value)
  15.     rb_assign_160509(id, value)
  16.   end
  17.   def on_changing(id, value)
  18.     return if $game_switches[No_Variable_Window] || !Variables_Monitor.include?(id) || $game_temp.in_battle
  19.     old_value = self[id]
  20.     value_changed = value - old_value
  21.     var_window = Window_Base.new((640-160)/2,128,180,100)
  22.     var_window.contents = Bitmap.new(var_window.width - 32, var_window.height - 32)
  23.     case id
  24.      when 27
  25.       text = sprintf("魂力%+d", value_changed)
  26.      when 57
  27.       text = sprintf("声望%+d", value_changed)
  28.      when 32
  29.       text = sprintf("阅历%+d", value_changed)
  30.      when 60
  31.       text = sprintf("仙魂%+d", value_changed)
  32.      when 59
  33.       text = sprintf("地魂%+d", value_changed)
  34.      when 58
  35.       text = sprintf("天魂%+d", value_changed)
  36.      when 3841
  37.       text = sprintf("人策%+d", value_changed)
  38.      when 99
  39.       text = sprintf("战力%+d", value_changed)
  40.      when 3883
  41.       text = sprintf("战技%+d", value_changed)
  42.      when 1107
  43.       text = sprintf("镖车难度%+d", value_changed)  
  44.     else
  45.       text = ""
  46.     end
  47.  
  48.     var_window.contents.draw_text(0,0,148,32,text)
  49.     se_filename = value_changed > 0 ? "006-System06" : "005-System05"
  50.     Audio.se_play("Audio/SE/#{se_filename}", 80, 100)
  51.     30.times { Graphics.update }
  52.     10.times { var_window.opacity -= 30; var_window.contents_opacity -= 30; Graphics.update; }
  53.     var_window.dispose
  54.   end
  55. end

点评

看了下存档使用的sprintf 明白了些 多谢RB叔指教!!!  发表于 2016-5-9 15:37
sprintf("%s%+d", $data_system.variables[id], value_changed)  发表于 2016-5-9 14:15
学习使我疲劳,打工使我疲惫,恋爱使我伤身,吸烟伤我肺腑,饮酒损我形象,旅游使我破费,月底不见铜板,只有在论坛里面看看各种大佬才能使我进去
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-13 21:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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