| 赞 | 425 |
| VIP | |
| 好人卡 | |
| 积分 | 422 |
| 经验 | |
| 最后登录 | 2026-8-20 |
| 在线时间 | 6017 小时 |
- 梦石
- 0
- 星屑
- 42235
- 在线时间
- 6017 小时
- 注册时间
- 2006-11-10
- 回帖
- 6966
|
发表于 2020-9-29 11:51:45
|
显示全部楼层
本帖最后由 灯笼菜刀王 于 2020-9-29 12:03 编辑
1,因为我是用单独刷新窗口的方式 , 调用max后就自己循环刷新40帧左右, 导致原本应该瞬间执行完毕的gain_item产生了时间差,它下面的Window.refresh延后执行自然你就看到黑底了,笑
解决方法, 让它和主main一起刷新即可, 具体方法以前有让你实验过(说明窗口UPDATE的时候,用全局变量实现跨scene刷新), 自己思考下吧
2,用你最后一张图的方法就可以了呗,事件处理最绿色了, 不过判定要改成 持有数 + 获得数 < 上限 才符合逻辑
至于想省事可以对list下手, 笑, 给你个栗子吧
- class Interpreter
- def 塞得下?
- a = false
- for i in @list
- if i.code == 126
- value = operate_value(i.parameters[1],i.parameters[2],i.parameters[3])
- a |= ($game_party.item_number(i.parameters[0]) + value > 10)
- next
- end
- if i.code == 127
- value = operate_value(i.parameters[1],i.parameters[2],i.parameters[3])
- a |= ($game_party.weapon_number(i.parameters[0]) + value > 10)
- next
- end
- if i.code == 128
- value = operate_value(i.parameters[1],i.parameters[2],i.parameters[3])
- a |= ($game_party.armor_number(i.parameters[0]) + value > 10)
- next
- end
- end
- return !a
- end
- end
复制代码
把这个脚本插到 Interpreter 类下面main 上面
然后去 条件分歧-脚本:塞得下? 就可以得到你要的判断了, 且支持复数道具/武器/防具的判断
PS:没测试哦 |
|