网页特效代码┊JsCode.CN
网页特效代码 您的位置:首页 > 网页制作教程 > Flash动画教程
RSS订阅

flash电子书鼠标拖拽翻页效果原理

[ 发布者:佚名┊来源:网络整理┊时间:2006-08-10┊浏览: 人次 ]

最近要做些电子书,本来准备去网上买现成的翻页效果的组件,但一看报价吓一跳,而且执行效率也不高,一个叫AsFlipPage4.0的组件CPU占用率高居70%,喊价1000RMB,真是黑心商人。下载了几个开源的程序自己也看不懂。于是一咬牙自己做了一个,并放上源程序。过两星期再把变量接口做好,免费发布。

设置遮罩和阴影之后的最终品

主要原理:

  • 将电子书分为3个内容层,叠放顺序如图.第一层为当前页面层,是现在正在显示的页面;第二层是随鼠标拖拽时卷起的页角,第三层是当页角卷起时,露出下一页的层。
  • 设置遮罩:当页边卷起时,层1仅显示四边形FBDE内部分,层2仅显示ABCD部分,层3仅显示BGHD部分.
  • 旋转:层2内的内容要随着鼠标运动而不停变换倾斜角度,其角度始终与AC边斜度一致.
  • 翻页:当页面完全翻过时,层1的当前页数=当前页数+1

程序的核心在于如何获得四个点ABCD的坐标,我使用的是求垂直平分线的方法,既:点C是鼠标位置,点H是页角位置,BD既为此两点间的垂直平分线.由已知的C,H坐标求出直线BD的一次函数y=kx+b以后再求出其与FG,EH的切点,既得点B,D坐标,点A是点G于直线BD的对称点,通过求点G对BD的对称点既可得点A坐标.

demo1: 4个顶点的计算:将鼠标移到黄色热区并拖动

其他几个要点:

限制C点范围:当鼠标在下图灰色区域内时,点C的坐标既等于鼠标坐标,当鼠标离开灰色区域时,点C必须停留在区域内.弧KML是以点J为圆心,KJ为半径的圆,弧KNL是以点I为圆心,IK为半径的圆(demo1既未限制C点范围,若鼠标超过弧形区域就会出错.

响应事件:设置4个热区,分别位于书的4个顶点,分别设置rollOver,rollOut,releaseOutside,release事件函数.事实上这一部分函数编写极费时间,需要考虑各种各样的可能性和针对性的处理方法.

鼠标吸附及黏滞:当鼠标进入热区和快速移动时,页角是逐渐黏附向鼠标的,这样可以使动画看上去更流畅.demo4设置了吸附,demo1没有设置.

阴影:翻页时的阴影须时刻与直线BD的位置保持一致,书的背景阴影要考虑到首页和末页两个特殊情况.

首页与末页:在翻动到首页与末页时层3遮罩须重新设置为整本书宽的1/2

本类相关信息
Flash 8 中文版视频教程(9)对象绘制
  第09 集:对象绘制  课程要点:Flash 8 中文版视频教程,一共20集,...
Flash MX2004入门与进阶实例——文字...
第八章 文字字段和组件第一节 动态文本和输入文本(2) (3)常用指令下面介绍...
用Flash画矢量手机教程
  点击这里全屏浏览观看
Flash MX Pro 2004新模板应用(6)
四、使用窗体应用模板  Flash MX Professional 2004提供两种模板来创建基...
CopyRight © 2005-2008 JsCode.CN All Rights Reserved
网页特效代码┊JsCode v3.0 Designed By 在远方
说明:本站提供最新精选的免费网页特效代码,包括网页背景特效,网页文字特效,网页图片特效,导航菜单特效代码等20多种常用网页特效代码下载,以及Flash特效,网页模版,字体大全,字体下载等网页制作特效素材资源。网页特效代码欢迎您的光临!