首先这个绝对是真实事件, 就在今晚发生;
事情是这样的,我让同事给一个sprite换张图片,结果过了好几分钟,他跟我说:这图片怎么编辑器里设置好了, 运行时就变小了;
我开始以为Sprite的sizeMode 有问题,比如使用了raw之类的,然后运行时用我的插件查看 之后发现sprite.type没问题,scale也没问题,跟编辑器一样;
然后我们发现contentSize变小了,奇怪,我们没有代码引用这个节点,不应该呀?
难道是其他同事的代码有改到了吗?
这时我突然 想到我的插件最近增加了一个功能,就是可以在节点改变尺寸时触发断点,于是乎我首次使用了这项功能,直接在节点树上设好断点,打开界面, 顺利触发;
然后我们在断点的调用栈列表发现有WidgetManager的代码调用, 并没有我们自己的代码,于是乎我们想到难道节点上挂了widget?
结果一看, 的确是这样, 删掉widget,刷新游戏,bug顺利解决!!
别看我写这么多字,实际上解决bug的过程不过十几秒 而已;
这后面的部分被认为有广告夸张成分我现在特地标出来, 大家可以自行思考辨别
------------------------- 分割线 ---------------------------
而如果没有这个插件这项功能, 我们可能会想破头,抓耳挠腮,加班熬夜, 浪费几十分钟到几个小时,换成工资你算算浪费多少money ,最终也可能删掉节点做一个新的,也永远不知道bug产生的真实原因