作者dreamboxer (陌生人)
看板Flash
标题Re: [问题] 关於翻书的效果
时间Fri Jan 25 20:27:45 2008
※ 引述《tga123 (必杀朋友)》之铭言:
: 关於翻书的效果要怎麽做
: 我自己书翻半天终於知道要用遮色片
: 但是我不会画出翻阅的效果
: 有没有人可以教一下该怎麽做
: 或者是贴张范例给我参考呢?
: 感谢大家的帮忙喔
刚好最近有个专案是要做翻页的效果,搞了我一个多月才写好.../_\
(主要我本身对AS不大熟...)
和大家分享一下研究的成果和可能需要的AS Method。
翻页的写法 Step by Step 分解说明,在这个网页有,而且也有AS3的范例档下载...
http://demo.quietlyscheming.com/book/walkthrough.html
(因为公司还是用AS2...所以那个范例也帮不上啥忙...乾脆自己研究顺便熟悉AS2)
我个人觉得有几个困难点:
1.最开始一定会碰的最大困难点,就是要算出折角的4个点,需要用到不少的数学。像是
‧斜率的算法 : Slope = (y2-y1)/(x2-x1)
‧解两直线 a1*x+b1*y=c1 与 a2*x+b2*y=c2 的交点公式 :
c1*b2 - c2*b1 c1*a2 - c2*a1
x = ----------------- , y = -------------------
a1*b2 - a2*b1 - a1*b2 + a2*b1
‧与 L:a*x+b*y=c 垂直的垂直线L'公式 : b*x-a*y=k
‧中点座标公式 : (x,y)=( (x1+x2)/2, (y1+y2)/2 )
然後还为了要参数化,还要做些有的没的推导...
2.当你能依滑鼠的移动而画出正确的翻页4角形(当离书角没很远的时候是3角形),
你大概就成功一半了!再来就剩下贴图的问题,按F1参考以下Method
BitmapData()
beginBitmapFill()
Matrix() => 变形旋转搭配 Math.atan(slope) 使用
3.最後当能够贴出一页正确的翻页4角形後,滑鼠放开要自动完成翻页的动作,
按F1参考以下Method
onEnterFrame = function(){ 上步2.的画图function }
delete mc.onEnterFrame
4.最後最後,翻页页角的阴影修饰,按F1参考以下Method
BevelFilter() => 我是用这个直接作出阴影...不过也是可以用渐层图贴...
可是我觉得用渐层贴出动态的阴影好难...orz
以上...大概就是用这些Method兜起来,就差不多了... 不知道有没有帮到忙 XD
--
※ 编辑: dreamboxer 来自: 211.20.177.117 (01/25 20:30)