it技术指南:www.itedus.com
  • 信息订阅

IT指南

  • TNT五分钟问卷赢IPOD
  • 贝塔斯曼
  • 广告联盟
  • No pay, More gain!
  • 单价15元-网络广告平台
  • 注册阿里妈妈赚广告费
  • 首页
  • 新闻资讯
  • 网页制作
  • 软件使用
  • 操作系统
  • 软件编程
  • 网络编程
  • 图象处理
  • 网站欣赏
  • 数据库
  • 认证考试
  • 站长知识
正在浏览栏目导航:首页 > 图象处理 > Flash >

Flash电子书鼠标拖拽翻页效果原理分析

时间:2007-11-29 16:33:57   来源:本站原创  作者:IT爱好者

  最近要做些电子书,本来准备去网上买现成的鼠标拖拽翻页效果的组件,但一看报价吓一跳,而且执行效率也不高,一个叫AsFlipPage4。0的组件CPU占用率高居70%,喊价1000RMB,真是恐怖。下载了几个开源的程序自己也看不懂。于是一咬牙自己做了一个。

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

codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0 height=380 width=500 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000>
Flash演示 大家用鼠标拖拽画面四个角即可看见效果

  主要原理:

  • 将电子书分为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个顶点的计算

codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0 height=380 width=500 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000>
Flash演示 将鼠标移到黄色热区并拖动即可看见效果

  其他几个要点:

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

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

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

codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0 height=380 width=500 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000>
Flash演示 大家用鼠标拖拽画面四个角即可看见效果

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

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

关键字:
关闭此页
上一篇:丰富多彩 有声有色的Flash互动动画世界
下一篇:xml辅助flash电子地图标注地名

相关文章

    无相关信息
本栏目推荐
  • 格斗动画在Flash中的

排行榜

  • 1格斗动画在Flash中的应用
  • 2Flash中有关层的深度处理的常用函数
  • 3Flash AS动画实例:风吹云飘草动
  • 4Flash AS代码制作鼠标触发图片缓冲放缩
  • 5Flash加载外部文件的各种方法与技巧
  • 6Flash片头loading与MovieClipLoader
  • 7Flash片头加载loading的基础讨论
  • 8Flash完美的loading-吐血整理!

最新信息

  • 格斗动画在Flash中的应用
  • 把按钮藏起来 谈制作Flash课件时的隐形
  • 用Flash制作Google搜索程序
  • 教您一招:为Flash MX打造一个完美的共
  • Flash MX精彩实例:制作给物体堆雪的效
  • Flash实例精通:教你制作交互式二合一按
  • 丰富多彩 有声有色的Flash互动动画世界
  • Flash实例精通:教你制作马赛克效果
关于站点 - 广告服务 - 联系我们 - 返回顶部
Copyright © 2007 www.itedus.com . All rights reserved.QQ群:8814225
如果碰到相关技术问题可以联系我们,原创相关问题请与站长及时联系.鄂ICP备07005792号