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

Project1

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

[已经解决] [已解决]如何让单个人的状态栏进行刷新?

[复制链接]

Lv5.捕梦者

梦石
0
星屑
37854
在线时间
5427 小时
注册时间
2006-11-10
帖子
6549
1
发表于 2020-4-4 20:01:24 | 显示全部楼层
最简单的方法就是把Window_BattleStatu分四份,自己刷新自己的, 刷新时机为伤害显示结束,反正你已经有这个开关了

2,改造refresh, 不直接把整个contents.clear, 而是分成4部分, 用contents.fill_rect去一个一个清除并重写, 刷新条件一样为伤害显示结束

3,把扣HP的操作挪到伤害显示结束来处理,然后同步刷新窗口, 不过这时self.damage是已经清零了,数值要另外记录就是了比较麻烦

注意以上的方法都可能和你用的脚本会有冲突(比如血条之类的), 自己多多排查吧

点评

如果会用数组建窗口,这个是最方便的做法,因为不用考虑更改刷新条件,只不过是把单变量刷新变成数组循环刷新而已  发表于 2020-4-4 21:22
当然不用,只不过是把本来一个窗口分成4个,每个窗口显示单独的角色而已,做法同window state, 分别带入$game_party.actors[0-3]就是了  发表于 2020-4-4 21:21
第3个方法感觉难度太大,肯定要对战斗流程有充分理解才敢改,冲突能最大,已现有的流程 。  发表于 2020-4-4 20:25
好的,我先试试第2个方法,第1个方法感觉如果角色多了10多个角色的话那岂不是要建10个Window_BattleStatu。  发表于 2020-4-4 20:25
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
37854
在线时间
5427 小时
注册时间
2006-11-10
帖子
6549
2
发表于 2020-4-6 15:13:15 | 显示全部楼层
本帖最后由 灯笼菜刀王 于 2020-4-6 15:21 编辑
  1.   def refresh
  2.     @item_max = $game_party.actors.size
  3.     for i in 0...@item_max
  4.       if (actor = $game_party.actors[i]).状态窗口刷新开关
  5.         actor.状态窗口刷新开关 = false
  6.         actor_x = i * 160 + 4
  7.         self.contents.fill_rect(Rect.new(actor_x-4,0,160,160),Color.new(0,0,0,0))
  8.         draw_actor_hp(actor, actor_x, 32, 120)
  9.         draw_actor_sp(actor, actor_x, 64, 120)
  10.         if @level_up_flags[i]
  11.           self.contents.font.color = normal_color
  12.           self.contents.draw_text(actor_x, 96, 120, 32, "LEVEL UP!")
  13.         else
  14.           draw_actor_state(actor, actor_x, 96)
  15.         end
  16.       end
  17.     end
  18.   end
复制代码

点评

我今天又优化了下就在用的地方用这个新的刷新方法,其他地方都用以前的,还在优化中  发表于 2020-4-7 15:48
没那么高端, 默认脚本就有使用, 而且你也曾经提问过相关问题-.-  发表于 2020-4-6 18:57
fill_rect的意思是写之前,覆盖一层透明的盖住,再写,如此往复,真是巧妙啊,能解决这个问题,估计以后我这个游戏脚本即使别人拿去也整不明白...  发表于 2020-4-6 18:34
生怕哪个地方漏了,造成故障  发表于 2020-4-6 18:23
好了成功了,现在多出都加了这个开关凡是有@status_window.refresh处都加了,感觉像插了浑身的管子....  发表于 2020-4-6 18:06

评分

参与人数 2星屑 +100 +2 收起 理由
RyanBern + 100 + 1 认可答案
miantouchi + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-5 15:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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