11RIA 闪客社区 - 最赞 Animate Flash 论坛

搜索
查看: 5206|回复: 17
上一主题 下一主题

[文本框 & 文本引擎] 【9RIA—iloveas】— AS3游戏实用技巧(7):一行代码让3D翻转后的文本恢复清晰

[复制链接] TA的其它主题
发表于 2018-12-14 10:46:22 | 显示全部楼层 |阅读模式

【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 TKCB 于 2019-3-19 09:09 编辑

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


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



FlashPlayer10提供的3D功能有一个相当蛋疼的问题:只要设置过rotationX、rotationY或者rotationZ属性,显示对象里面的文字(尤其是设备字体,位图文本)就会一直处于模糊状态,即使强制将它们重置为0也无济于事。

除了3D旋转以外,有时2D旋转也会使用其它属性。因为在Flash里面,用rotation来旋转会导致设备字体不可见,需要绘制成位图才能正常旋转。在实际应用中,此法可能会给某些需求的实现带来不便,所以后来有大神(这位大神好像是Flash023)告诉我们用rotationZ代替rotation即可解决问题。此法比绘制成位图要方便多了,但由于设置过3D的旋转属性,所以文字还是难逃变模糊的命运。


这一问题在卡牌游戏或者翻牌抽奖模块中较为常见,现在我就上个swf来演示一下:



看到了没,这个蛋疼的模糊效果可谓大煞风景啊。如果能彻底恢复旋转前的状态那该多好。

历史上有不少能人志士都在努力寻求解决此问题的有效方法。最早看到的一个方法是创建两个显示对象,一个用于3D旋转,而另一个不作任何3D变换,只在不旋转的时候显示,以确保非旋转状态下呈现出最清晰的文字。这时候,如果显示对象的内容比较复杂,那么同步它们的状态将是一件相当痛苦的事情。

之所以搞的这么麻烦,大概是因为当时大家都一致认为3D变换是个不可逆的操作,所以只能通过2D副本来维持状态。为此iloveas表示灰常内疚,如果当年能早点上来9ria的话,也许大家就能少走一些弯路。不过亡羊补牢为时未晚,现在既然来了,我就告诉大家,这一操作完全可逆,而且也是一行代码的事,只要在旋转结束后执行以下这句:
游客,如果您要查看本帖隐藏内容请回复

文本就能恢复原有的清晰状态,是不是很方便呢?

我设置了回复可见,如果你想看隐藏内容但又不想回复的话,就可以把上面的swf抓取下来,然后用反编译的方式查看里面的代码。当然了,相比之下还是回复本帖要方便一些,而且回复以后还能直接下到源文件:


游客,如果您要查看本帖隐藏内容请回复


最后,iloveas偷偷告诉大家,其实Flash023后来也在问答求助区多次提到过这方法,所以不能算是我的原创,但我还是不要脸地放上来骗回复了(至少我还恢复了原有的2D变换,023的回答里还没提到过),哈哈~~



TKCB:
我也做了一个练习文件,用于理解这个问题。
http://www.11ria.com/forum.php?mod=viewthread&tid=1594
发表于 2018-12-14 11:50:07 | 显示全部楼层
继续学习!
回复

使用道具 举报

发表于 2018-12-14 14:32:20 | 显示全部楼层
牛逼!真厉害啊
回复

使用道具 举报

发表于 2019-1-10 13:56:00 | 显示全部楼层
学习学习
回复

使用道具 举报

发表于 2019-2-25 09:25:15 | 显示全部楼层
很强势~~~
回复

使用道具 举报

发表于 2019-3-12 22:32:00 | 显示全部楼层
一行代码!
回复

使用道具 举报

发表于 2019-3-19 08:53:40 | 显示全部楼层
学习 学习 学习
回复

使用道具 举报

发表于 2019-9-2 10:01:19 | 显示全部楼层
这么好的帖子  才看到
回复

使用道具 举报

发表于 2020-4-24 22:35:12 | 显示全部楼层

牛逼!真厉害啊
回复

使用道具 举报

发表于 2020-5-5 10:06:27 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

感谢所有支持论坛的朋友:下面展示最新的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)



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