iloveas 发表于 2018-12-14 15:01:24

【9RIA—iloveas】— AS3游戏实用技巧(12):一行代码解决多角色重叠时出现色块的Bug

转载:9RIA游戏开发者社区(天地会)
作者:iloveas(原天地会大神)


总目录:[原创]AS3游戏开发实用技巧汇总



这是一个神奇的Bug,据说只出现在fla库里的MovieClip被创建的时候。虽然现在越来越多的人使用Starling/Stage3D或者Bimtap/BitmapData来实现游戏里的动画轮播,但截至本帖发表之日,光iloveas就发现有将近10位大神在论坛或者QQ群里反映过此Bug了。

到底这Bug有多神奇?现在我先把相关的帖子给出来:

http://bbs.9ria.com/thread-223990-1-1.html

然后我把贴主给的fla给完善一下,并在此处放出演示文件:
attach://1459.swf


单击“增加一个箭头”按钮,当增加到23个时,箭头重叠的区域就会出现一个莫名其妙的白块,这时如果单击“移除一个箭头”按钮,白块就会在箭头数量小于等于22个的时候自动消失,很神奇了有木有?

经iloveas测试,这个其实不是白块,而是被挖空成透明的区域了,因为当我把背景改成其他颜色的时候,色块的颜色也跟着背景一起改:

但是,不管是白块还是黑块,只要出异常了就不是好块。所以我们应该想办法去掉它。

经过一段时间的折腾,某大神终于完美解决了,原来只要加入一行代码:
**** Hidden Message *****
这些黑块白块就会神奇的消失掉了:
attach://1750.swf

此法虽然也牺牲了性能,但相比之下,修正bug要重要的多,如果你的游戏项目用库mc的方式来管理并渲染角色动画,并且重构成本较高的话,就可以考虑用这一行代码修正这样的一个Bug。

最后补充一句,这隐藏的也是一行神奇的代码,如果你遇到一些跟显示相关,并且和本帖一样神奇的Bug,就可以尝试通过这行神奇的代码来进行修正,没准就会有意外的收获。

既然如此神奇,那不设置回复可见就对不起大家了,你说对不?
无独有偶,回复可见的还有以下的fla源文件。
**** Hidden Message *****


SakuraYing 发表于 2019-12-3 00:51:12

遇到过 学习一下 感谢分享{:5_178:}

yunjing 发表于 2020-5-8 13:08:40

学习一下 感谢分享{:1_122:}

diazynez 发表于 2021-6-17 00:05:31

NB!!!!!!!!
页: [1]
查看完整版本: 【9RIA—iloveas】— AS3游戏实用技巧(12):一行代码解决多角色重叠时出现色块的Bug

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)