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

Project1

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

[已经过期] 请问如何在Battle_Scnce,将Window_BattleStatus刷新?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
114
在线时间
411 小时
注册时间
2020-1-11
帖子
253
跳转到指定楼层
1
发表于 2022-2-13 16:51:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
200星屑
在 Scene_Battle 之下,我方的Window_BattleStatus中我方的battle_members是由左到右一字横列四个。现在一个人在战斗事件中投敌了。battle_members从四个变成三个。
在同时改变了 window_width、contents_width、col_max 之下。我想把 Window_BattleStatus 给 dispose。然后重新 @status_window = Window_BattleStatus.new
这个功能脚本怎么写,请赐教。

Lv3.寻梦者

梦石
0
星屑
1782
在线时间
173 小时
注册时间
2018-12-28
帖子
56
2
发表于 2022-2-18 13:09:49 | 只看该作者
va默认的Window_BattleStatus不是单列竖向排布的吗。是重写了窗口吗。
角色数量减少实际并不应该影响窗口宽高和内容宽高
按照rgss3窗口设计的逻辑,是先确定窗口大小,再计算窗口内容层大小和项目大小。
按照父类Window_Selectable的逻辑,内容层contents的大小,最小都是一页,哪怕放满item_max个项目之后并没有占满一个窗口。在Window_BattleStatus的情节中,不管battle_members是4还是3,窗口大小和内容大小都不会变化,只是在第四个角色的位置,有没有内容绘制与否。
退一步说,哪怕需要改动窗口的大小和各种数据,也不意味着一定需要释放和重新生成,通过在Window_BattleStatus中重写update,加入对在需要的时候(比如队员变动)调整窗口大小的方法即可。
生若浮海,思如渡船。
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1782
在线时间
173 小时
注册时间
2018-12-28
帖子
56
3
发表于 2022-2-18 13:17:33 | 只看该作者
其实只是做队友叛变的操作,完全用事件也能实现。
比如设置一个施加【叛变】buff的技能,并执行公共事件,检测所有角色,当有此效果时离队。并让对应的队友敌人入场。
生若浮海,思如渡船。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
114
在线时间
411 小时
注册时间
2020-1-11
帖子
253
4
 楼主| 发表于 2022-2-19 23:54:50 | 只看该作者
WLian 发表于 2022-2-18 13:09
va默认的Window_BattleStatus不是单列竖向排布的吗。是重写了窗口吗。
角色数量减少实际并不应该影响窗口宽 ...

这的确是个可行的思路,让我调试看看。谢谢。

点评

调试有效么,,,  发表于 2022-3-1 20:58
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-4-29 09:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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