Project1

标题: 应该如何使LNX11的伤害数字在战斗中途更新Bitmap位图? [打印本页]

作者: sxjkjly8010    时间: 2021-2-16 07:18
标题: 应该如何使LNX11的伤害数字在战斗中途更新Bitmap位图?
本帖最后由 sxjkjly8010 于 2021-2-16 16:51 编辑

链接:https://pan.baidu.com/s/1tuioyer9HxUvBz7E-5kMqQ 提取码:1234
↑测试工程,因为权限问题所以只好上传网盘了,只有10.8MB

【主要问题】
[line]这里需要打字吗[/line]
我在我的游戏中设定了2号角色的MP是另一种叫BLOOD的槽值,搭配LNX11的伤害数字希望他回复MP时是红色(popup_numberblood_small.png)的。
所以我的思路是使用备注含有“特殊角色回复”的技能时开启100号开关,技能结束后关闭100号开关(不过因为换位图都没有实现也没有写关闭开关的效果),后来找到绘制number的地方是战斗LNX11a_XP的get_number(i)取的伤害数字图片文件名,所以我就在里面插入了一句判断100号开关的if语句,如果是的话把popup_number02_small.png换成popup_numberblood_small.png。
但是发现这样并没有任何卵用,从凌晨通宵写到现在7点了还是没找到解决,是真的蒙圈了,希望有大佬能够帮助解决和指教……

呃,如果是因为字数太多了可能没法看懂的话,其实就是我希望2号角色回复MP的伤害数字是红色(我是觉得只有给bitmap换一张图片吧)而不是默认的蓝色


【其他问题】
[line]这里需要打字吗[/line]
然后我这7个小时里最后发现了一个很神奇的地方,我一开始以为是这个用判断开关没有办法,结果发现如果在游戏中第一次战斗前开启100号开关,伤害数字确确实实变成了红色,但是第二次战斗后就算关闭了开关伤害数字还是红色的,也就是说根本没有切换回去,难道说Bitmap位图实际上在第一次初始化之后游戏中就不会再变动了??这么笨重的吗

QQ图片20210216072521.png (4.31 KB, 下载次数: 39)

QQ图片20210216072521.png

QQ图片20210216072526.png (4.87 KB, 下载次数: 36)

QQ图片20210216072526.png

popup_number02_small.png (38.33 KB, 下载次数: 37)

popup_number02_small.png

popup_numberblood_small.png (38.38 KB, 下载次数: 41)

popup_numberblood_small.png

作者: alexncf125    时间: 2021-2-16 07:18
本帖最后由 alexncf125 于 2021-2-16 16:57 编辑

把def skill_cost_payable?(skill)那段删掉...
加这段:
  1. class Game_Battler < Game_BattlerBase
  2.   alias switch_hundred_item_apply item_apply
  3.   def item_apply(user, item)
  4.     switch_hundred_item_apply(user, item)
  5.     $game_switches[100] = item.note.include?("特定角色回复")
  6.   end
  7. end

  8. class Sprite_PopupBase < Sprite
  9.   alias update_bitmap_number bitmap_number
  10.   def bitmap_number(size = :large)
  11.     @@cache_number.clear
  12.     create_number
  13.     update_bitmap_number(size)
  14.   end
  15. end
复制代码

作者: sxjkjly8010    时间: 2021-2-16 16:50
alexncf125 发表于 2021-2-16 08:42
把def skill_cost_payable?(skill)那段删掉...
加这段:

居然这么简单……顿时感觉熬夜不值得,感谢大佬




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1