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

Project1

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

Window_BattleStatus窗口refresh的问题...

 关闭 [复制链接]

Lv2.观梦者

梦石
0
星屑
676
在线时间
224 小时
注册时间
2006-12-7
帖子
839
跳转到指定楼层
1
发表于 2008-2-4 03:18:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
Window_BattleStatus窗口refresh的时候会先清除窗口内容

但是我的窗口里面还有人物头像一些每次战斗中不会发生变化的内容

如果不刷新这些东西而只刷新血槽和数值能不能提高运行速度?

难道要新建一个窗口放那些不变的图片么 感觉比较麻烦{/gg}

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

2
发表于 2008-2-4 03:19:18 | 只看该作者
能的……
具体的我记得主站上有讲~
我的Lofter:http://nightoye.lofter.com/

回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
676
在线时间
224 小时
注册时间
2006-12-7
帖子
839
3
 楼主| 发表于 2008-2-4 03:42:05 | 只看该作者
是的。但是其实这个还可以继续改进,refresh的时候,不要全部.clear了,先把需要refresh的区域rect选出来,然后fill_rect清掉重描绘。

这个?{/fd}
不是很明白 能举个例子么{/gg}

比如我的这个
  1. def refresh

  2.     # 変更するものがない場合、飛ばす
  3.     @item_max = $game_party.actors.size
  4.     # 描写を開始
  5.     self.contents.clear
  6.     for i in 0...@item_max
  7.       actor = $game_party.actors[i]
  8.       actor_x = i * 146 + 35
  9.       # 歩行キャラグラフィックの描写

  10.       draw_actor_graphic(actor, actor_x+10 , 5)
  11.       # HP/SPメーターの描写
  12.       draw_actor_hp_meter_line(actor, actor_x+96, 25, 75, 10)
  13.       draw_actor_sp_meter_line(actor, actor_x+96, 53, 75, 10)
  14.       #★ HP_store描写
  15.       draw_actor_hp_store_meter_line(actor, actor_x+96, 70, 72, 6)
  16.       # HP数値の描写
  17.       self.contents.font.size = 24 # HP/SP数値の文字の大きさ  
  18.       self.contents.font.color = Color.new(0,0,0,192)
  19.       self.contents.draw_text(actor_x+90, 11, 80, 24, actor.hp.to_s, 2)
  20.       self.contents.font.color = actor.hp == 0 ? knockout_color :
  21.       actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
  22.       self.contents.draw_text(actor_x+88, 11, 80, 24, actor.hp.to_s, 2)
  23.       # SP数値の描写
  24.       self.contents.font.color = Color.new(0,0,0,192)
  25.       self.contents.draw_text(actor_x+90, 39, 80, 24, actor.sp.to_s, 2)
  26.       self.contents.font.color = actor.sp == 0 ? knockout_color :
  27.       actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
  28.       self.contents.draw_text(actor_x+88, 39, 80, 24, actor.sp.to_s, 2)
  29.       # 用語「HP」と用語「SP」の描写

  30.       bitmap = Bitmap.new("Graphics/Icons/name_"+actor.id.to_s)
  31.       src_rect = Rect.new(0, 0, 24, 64)
  32.       self.contents.blt(actor_x, 6, bitmap, src_rect)
  33.       bitmap = Bitmap.new("Graphics/Icons/menu_HP.png")
  34.       src_rect = Rect.new(0, 0, 24, 24)
  35.       self.contents.blt(actor_x+88, 8, bitmap, src_rect)
  36.         bitmap = Bitmap.new("Graphics/Icons/menu_SP.png")
  37.       src_rect = Rect.new(0, 0, 24, 24)
  38.       self.contents.blt(actor_x+88, 36, bitmap, src_rect)

  39.       # ステートの描写
  40.       draw_actor_state(actor, actor_x+18, 50)
  41.       
  42.       @refresh_flag = false

  43.     end
  44.   end
复制代码
回复 支持 反对

使用道具 举报

Lv5.捕梦者

御灵的宠物

梦石
12
星屑
8438
在线时间
88 小时
注册时间
2006-12-11
帖子
3148

第2届TG大赛亚军

4
发表于 2008-2-4 03:46:58 | 只看该作者
是这样的
默认的时候不是self.contents.clear吗
这个是清除全部窗口内容的
而要清除一个固定的矩形就
self.contents.fill_rect(x,y,宽,高,Color.new(0,0,0,0))(大概这么写吧)
就是用透明色去填充这个矩形的内部……
不过你自己要对好坐标看清除哪部分了
系统信息:本贴获得楼主认可,66RPG感谢您的热情解答~
我的Lofter:http://nightoye.lofter.com/

回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
帖子
2558

第1届Title华丽大赛新人奖

5
发表于 2008-2-4 03:52:05 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
676
在线时间
224 小时
注册时间
2006-12-7
帖子
839
6
 楼主| 发表于 2008-2-4 04:49:39 | 只看该作者
恩 我看还是一起刷好了 Orz
感谢两位解答
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
142
在线时间
264 小时
注册时间
2006-11-22
帖子
1057
7
发表于 2008-2-4 04:53:29 | 只看该作者
头像一些每次战斗中不会发生变化的内容...放到Spriteset_Battle...
(要是图)
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
676
在线时间
224 小时
注册时间
2006-12-7
帖子
839
8
 楼主| 发表于 2008-2-4 04:55:49 | 只看该作者
我用的超级横板 z坐标貌似有点麻烦 而且还有几个小图标{/gg}
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-3 07:45

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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