Project1

标题: 求刷新指定窗口的方法 [打印本页]

作者: 奶油Da蛋糕    时间: 2009-8-10 14:09
标题: 求刷新指定窗口的方法
用事件做了一个打苍蝇的小游戏。
发现没有窗口显示已经打死的苍蝇的数量,于是写了一个。
如下:
  1. class Window_cangying < Window_Selectable
  2. #--------------------------------------------------------------------------
  3.   # ● 初始化对像
  4.   #--------------------------------------------------------------------------
  5.   def initialize
  6.     super(0, 0, 640, 480)
  7.     self.windowskin = RPG::Cache.windowskin("004-xycs03.png")
  8.     self.contents = Bitmap.new(width - 32, height - 32)
  9.     self.back_opacity = 0  
  10.     self.opacity = 0
  11.     update
  12.   end
  13.   #--------------------------------------------------------------------------
  14.   # ● 刷新
  15.   #--------------------------------------------------------------------------
  16.   def update
  17.       self.contents.draw_text(0,380,50,50,"苍蝇")
  18.       self.contents.draw_text(70,380,50,50,$game_variables[27].to_s)
  19.     end
  20.   end
复制代码
事件中用@command_window = Window_cangying.new召唤了这个窗口。
但是发现, self.contents.draw_text(70,380,50,50,$game_variables[27].to_s)
这个不能刷新。一直显示0.打完之后变量27P出来有28个,但是里面还是显示0,
请问怎么刷新这个窗口呢?
作者: 「旅」    时间: 2009-8-10 14:20
(别忘了self.contents.clear- -+)

在Scene的update,加入判断——变量的数值是否改变,
如果是,调用窗口的描绘方法。
作者: 奶油Da蛋糕    时间: 2009-8-10 14:23
(别忘了self.contents.clear- -+)

在Scene的update,加入判断——变量的数值是否改变,
如果是,调用窗口的描绘方法。
「旅」 发表于 2009-8-10 14:20


self.contents.clear加上了仍然刷新不能。
另外,我是脚本盲诶,不知道变量的数值是否改变怎么写,只知道些if 变量 == 几。。。。
作者: 「旅」    时间: 2009-8-10 14:32
if $game_variables[27] != @record27
@record27 = $game_variables[27]
@窗口.update
end
作者: 奶油Da蛋糕    时间: 2009-8-10 14:35
if $game_variables[27] != @record27
@record27 = $game_variables[27]
@窗口.update
end
「旅」 发表于 2009-8-10 14:32


---------------------------
梦想逍遥游
---------------------------
脚本 'Scene_Map' 的 184 行 发生了 NoMethodError。

undefined method `update' for nil:NilClass
---------------------------
确定   
---------------------------

呃,这个怎么nil了??
@Window_cangying.update
这个难道改错了??
作者: 「旅」    时间: 2009-8-10 14:48
不清楚情况,发脚本文件吧。
作者: 奶油Da蛋糕    时间: 2009-8-10 14:55
Project11.rar (317.61 KB, 下载次数: 43)

打包了一个工程,不知道是我的脚本设置错了还是事件设置错了。脚本和地图的事件都放上去了。
作者: 「旅」    时间: 2009-8-10 15:01
错误是因为没有生成 窗口的实例

@Window_cangying = Window_cangying.new

放在Scene_Map的main前。
作者: 奶油Da蛋糕    时间: 2009-8-10 15:10
本帖最后由 奶油Da蛋糕 于 2009-8-10 15:20 编辑

谢谢旅,已经解决。




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