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

Project1

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

[已经过期] 为了一个窗口更新我快疯了,求助……

[复制链接]

Lv2.观梦者

梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
帖子
607

开拓者

跳转到指定楼层
1
发表于 2010-12-26 00:58:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 ML4455739 于 2010-12-26 01:03 编辑

RT,我弄了个窗口:
  1. class WW_Window < Window_Base
  2. def initialize
  3.    super(180, 0, 460, 480) # 定义窗口的显示位置和高、宽
  4.    self.contents = Bitmap.new(width-32, height-32)  
  5.    self.contents.font.name = "黑体"  
  6.    refresh
  7. end

  8. def refresh
  9.    if $w == 1
  10.    text = "文字1"
  11.    self.contents.font.color = Color.new(255, 0, 0, 255) #Red
  12.    self.contents.draw_text(4, 0, 406, 32, text)
  13.    end
  14.    if $w == 2
  15.    text = "文字2"
  16.    self.contents.font.color = Color.new(255, 0, 0, 255) #Red
  17.    self.contents.draw_text(4, 0, 406, 32, text)
  18.    end
  19. end
  20. end

  21. def update
  22.    $WW_window.updata
  23.    Graphics.update
  24.    if Graphics.frame_count / Graphics.frame_rate != @total_sec
  25.      refresh
  26.    end
  27. end
复制代码
当要显示文字2的时候,怎么才能让文字1不留在上面?
往事简直不堪回首,稍微做点想做的事吧

Lv4.逐梦者

梦石
0
星屑
7981
在线时间
1183 小时
注册时间
2007-7-29
帖子
2055
2
发表于 2010-12-26 03:43:41 | 只看该作者
def refresh
   self.contents.clear
   if $w == 1
   text = "文字1"
   self.contents.font.color = Color.new(255, 0, 0, 255) #Red
   self.contents.draw_text(4, 0, 406, 32, text)
   end
   if $w == 2
   text = "文字2"
   self.contents.font.color = Color.new(255, 0, 0, 255) #Red
   self.contents.draw_text(4, 0, 406, 32, text)
   end
end
end

筹字…………
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
672
在线时间
2184 小时
注册时间
2009-12-6
帖子
607

开拓者

3
 楼主| 发表于 2010-12-26 12:34:41 | 只看该作者
表示没报错但也没效果,真的,和没加一样,字还是在上面
往事简直不堪回首,稍微做点想做的事吧
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7981
在线时间
1183 小时
注册时间
2007-7-29
帖子
2055
4
发表于 2010-12-26 12:44:46 | 只看该作者
本帖最后由 enghao_lim 于 2010-12-26 12:46 编辑

回复 ML4455739 的帖子

我是想说……那绝对有效果。如果字还出现就代表那个文字又再度被描绘……那是你写的脚本可能那边出问题了。
尝试用这样的书写方式:
  1. def refresh
  2.    self.contents.clear
  3.    if $w == 1
  4.      text = "文字1"
  5.      self.contents.font.color = Color.new(255, 0, 0, 255) #Red
  6.      self.contents.draw_text(4, 0, 406, 32, text)
  7.    else
  8.      text = "文字2"
  9.      self.contents.font.color = Color.new(255, 0, 0, 255) #Red
  10.      self.contents.draw_text(4, 0, 406, 32, text)
  11.    end
  12. end
  13. end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
5
发表于 2010-12-26 12:44:56 | 只看该作者
$WW_window.updata
这句需要改成$WW_window.refresh ?

点评

这是不确定因素……因为根本不知道楼主的$WW_window变量里边究竟存着什么……而且还有两个全局变量……@@  发表于 2010-12-26 12:48

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

6
发表于 2010-12-26 15:02:53 | 只看该作者
先把
   $WW_window.updata
   Graphics.update
这两行诡异玩意儿干掉或者修正,Graphics.update会导致实际刷新速率减慢1倍。
此后,请修改
  1. def refresh
  2.     self.contents.clear
  3.     p ""
  4.    if $w == 1
  5.    text = "文字1"
  6.    self.contents.font.color = Color.new(255, 0, 0, 255) #Red
  7.    self.contents.draw_text(4, 0, 406, 32, text)
  8.    end
  9.    if $w == 2
  10.    text = "文字2"
  11.    self.contents.font.color = Color.new(255, 0, 0, 255) #Red
  12.    self.contents.draw_text(4, 0, 406, 32, text)
  13.    end
  14. end
复制代码
然后运行检查能否看到一个空框,如果不能,refresh没有被运行,请检查触发条件。
菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 02:58

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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