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

Project1

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

[已经过期] 为什么我的金钱变量不刷新?

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
80
在线时间
235 小时
注册时间
2009-7-26
帖子
26
跳转到指定楼层
1
发表于 2011-9-15 14:42:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yangyang1983 于 2011-9-15 14:44 编辑

:L 本人脚本盲...用了地图上显示变量的脚本之后...又加了开关...结果...发现...这钱怎么就不刷新呢...真是闹心...请大家帮我看看...
到底是哪里出现了问题?应该怎么改?十分感谢~~
先上图
打开背包

点物品

点完出售

这钱就是不变啊~~郁闷死~~

下面写上我用的脚本

  1. #==============================================================================
  2. # ◎ Window_MapVar
  3. #------------------------------------------------------------------------------
  4. # ◎ 地图右下显示变量窗口
  5. #------------------------------------------------------------------------------
  6. # 制作者:绿梨子红苹果
  7. # 个人主页:vbgm.9126.com
  8. # E-Mail:[email protected]
  9. # QQ:42378361
  10. #==============================================================================

  11. class Window_MapVar < Window_Base
  12. #--------------------------------------------------------------------------
  13. # ● 初始化窗口
  14. #--------------------------------------------------------------------------
  15. def initialize


  16. # 在这里设定窗口的位置啦(x,y,宽,高),记住要为窗口框架留上下左右各16象素。
  17. # 默认一个字符的宽和高只有20左右的,这里单位为“金”,加上8位数字。
  18. super(328,298,300,60)
  19. self.z = 99999
  20. # 窗口的不透明度(0 ~ 255)。范围外的数值会自动修正。
  21. # 注:255为不透明,0为完全透明……这个参数为零则只显示窗口内容而没有窗口,
  22. # 实际上这样做不如不载入窗口背景图,更加节约内存……不过比较麻烦就是。
  23. self.opacity=0
  24. # 窗口背景的不透明度(0 ~ 255)。范围外的数值会自动修正。
  25. # 注:就是窗口那个蓝色的背景啦……受上面参数影响
  26. self.back_opacity=0
  27. # 窗口内容的不透明度(0 ~ 255)。范围外的数值会自动修正。
  28. # 注:窗口内的文字等内容,除非你是想画个空窗口,否则千万不要设0。
  29. self.contents_opacity=255

  30. # 这个不用管他,必定要写的
  31. self.contents = Bitmap.new(width - 32, height - 32)

  32. # 建立记录变量原始值,用于判断变量值是否改变,一定要保证不会是变量原来的值
  33. @var_value_old = -1
  34. # 载入想要显示的图片就可以了,这里推荐是24*24的标准RM图标
  35. #@var_icon = Bitmap.new("Graphics/Icons/035-Item04")

  36. refresh
  37. end
  38. #--------------------------------------------------------------------------
  39. # ● 刷新
  40. #--------------------------------------------------------------------------
  41. def refresh
  42. # 在这里加上判断语句,就可以完成变量值改变才刷新的效果,节约资源

  43. if $game_switches[99]

  44. return

  45. end



  46. # 先清空内容啦
  47. self.contents.clear
  48. # 计算系统data里金钱单位的字符宽度
  49. cx = contents.text_size($data_system.words.gold).width
  50. # 设定字色为白色。生成RGB颜色参数(红,绿,蓝),这个不用我来说吧...
  51. self.contents.font.color = Color.new(255,255,0)
  52. # 绘制金钱数字。记住要用“.to_s”将数字转换为字符!
  53. # 注:这里24是留着画24*24图标的,104表示所有字符总宽
  54. self.contents.draw_text(24, 0, 104-cx, 28, $game_party.gold.to_s, 2)
  55. # 设定字色为金色
  56. self.contents.font.color = Color.new(0,0,0)
  57. # 绘制金钱单位。
  58. # 注:128=160(窗口宽)-32
  59. #self.contents.draw_text(128-cx, 0, cx, 28, $data_system.words.gold)
  60. # 最后画上需要的图标就可以啦,blt方法详见RM帮助文档啦...
  61. #self.contents.blt(0, 2, @var_icon, Rect.new(0, 0, 24, 24))
  62. end

  63. alias old_update update
  64. def update
  65. self.visible = $game_switches[99]
  66. old_update
  67. end
  68. end
复制代码
执行的公共事件


拜托谁有解决的办法告诉我哦~~谢谢~~谢谢~~

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1281 小时
注册时间
2006-8-27
帖子
590
2
发表于 2011-9-15 18:35:14 | 只看该作者
请问你用哪个变量 = Window_MapVar.new 的?

同位置的 update 类里有没有  变量.update  ?

而且这个脚本刷新的内容好象什么都没写
回复

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
136 小时
注册时间
2011-8-15
帖子
321
3
发表于 2011-9-15 19:32:09 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
260
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

4
发表于 2011-9-15 20:05:49 | 只看该作者
没看到对应的对象是什么以及对象的更新方法……
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
80
在线时间
235 小时
注册时间
2009-7-26
帖子
26
5
 楼主| 发表于 2011-9-16 08:54:22 | 只看该作者
wbsy8241 发表于 2011-9-15 18:35
请问你用哪个变量 = Window_MapVar.new 的?

同位置的 update 类里有没有  变量.update  ?

:dizzy:  那应该怎么写呀  迷糊死   脚本太复杂的根本弄不明白~~


yangyang1983于2011-9-16 08:55补充以下内容:
:dizzy:  在别的公共事件里打开了  这样不管用? 应该怎么办呀


yangyang1983于2011-9-16 08:56补充以下内容:
:dizzy:  迷糊   应该怎么弄?


yangyang1983于2011-9-16 10:14补充以下内容:
:P 迷糊死~~我居然自己弄误打误撞弄明白了~~谢谢各位了~~
送上我改写后的脚本:给金钱显示窗口加个开关控制的脚本~~希望对和我有同样问题的人有帮助~~
  1. #==============================================================================
  2. # ◎ Window_MapVar
  3. #------------------------------------------------------------------------------
  4. # ◎ 地图右下显示变量窗口
  5. #------------------------------------------------------------------------------
  6. # 制作者:绿梨子红苹果
  7. # 个人主页:vbgm.9126.com
  8. # E-Mail:[email protected]
  9. # QQ:42378361
  10. #==============================================================================

  11. class Window_MapVar < Window_Base
  12.   #--------------------------------------------------------------------------
  13.   # ● 初始化窗口
  14.   #--------------------------------------------------------------------------
  15.   def initialize
  16.    
  17.     # 在这里设定窗口的位置啦(x,y,宽,高),记住要为窗口框架留上下左右各16象素。
  18.     # 默认一个字符的宽和高只有20左右的,这里单位为“金”,加上8位数字。
  19.     super(328,298,300,60)
  20.     self.z = 99999
  21.     # 窗口的不透明度(0 ~ 255)。范围外的数值会自动修正。
  22.     # 注:255为不透明,0为完全透明……这个参数为零则只显示窗口内容而没有窗口,
  23.     # 实际上这样做不如不载入窗口背景图,更加节约内存……不过比较麻烦就是。
  24.     self.opacity=0
  25.     # 窗口背景的不透明度(0 ~ 255)。范围外的数值会自动修正。
  26.     # 注:就是窗口那个蓝色的背景啦……受上面参数影响
  27.     self.back_opacity=0
  28.     # 窗口内容的不透明度(0 ~ 255)。范围外的数值会自动修正。
  29.     # 注:窗口内的文字等内容,除非你是想画个空窗口,否则千万不要设0。
  30.     self.contents_opacity=255

  31.     # 这个不用管他,必定要写的
  32.     self.contents = Bitmap.new(width - 32, height - 32)
  33.    
  34.     # 建立记录变量原始值,用于判断变量值是否改变,一定要保证不会是变量原来的值
  35.     @var_value_old = -1
  36.     # 载入想要显示的图片就可以了,这里推荐是24*24的标准RM图标
  37.    # @var_icon = Bitmap.new("Graphics/Icons/035-Item04")
  38.    
  39.     refresh
  40.   end
  41.   #--------------------------------------------------------------------------
  42.   # ● 刷新
  43.   #--------------------------------------------------------------------------
  44.   def refresh
  45.     if $game_switches[99] == true
  46.     self.visible = true
  47.   else
  48.     self.visible = false

  49.   end
  50.     # 在这里加上判断语句,就可以完成变量值改变才刷新的效果,节约资源
  51.    if @var_value_old==$game_party.gold then
  52.       return
  53.     end
  54.     # 先清空内容啦
  55.     self.contents.clear
  56.     # 计算系统data里金钱单位的字符宽度
  57.     cx = contents.text_size($data_system.words.gold).width
  58.     # 设定字色为白色。生成RGB颜色参数(红,绿,蓝),这个不用我来说吧...
  59.     self.contents.font.color = Color.new(255,255,255)
  60.     # 绘制金钱数字。记住要用“.to_s”将数字转换为字符!
  61.     # 注:这里24是留着画24*24图标的,104表示所有字符总宽
  62.     self.contents.draw_text(24, 0, 104-cx, 28, $game_party.gold.to_s, 2)
  63.     # 设定字色为金色
  64.     self.contents.font.color = Color.new(255,255,0)
  65.     # 绘制金钱单位。
  66.     # 注:128=160(窗口宽)-32
  67.     #self.contents.draw_text(128-cx, 0, cx, 28, $data_system.words.gold)
  68.     # 最后画上需要的图标就可以啦,blt方法详见RM帮助文档啦...
  69.     #self.contents.blt(0, 2, @var_icon, Rect.new(0, 0, 24, 24))
  70.   end
  71. end
复制代码
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-30 16:27

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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