配色: 字号:
Flash(利用FFlipPage)翻页介绍
2012-08-08 | 阅:  转:  |  分享 
  
Flash翻页介绍

组件简介

FFlipPage(Flash翻页组件)是一种具有很强的交互性的书本翻页效果的组件。其在功能、表现力及翻动手感上面都是目前国内外同类效果中最出色的一款。目前版本能够实现的功能包括自动翻页、多页联翻、不规则页面形状、透明页面等等。而且使用起来也并不复杂,只需设置相应的参数,或编写简单的事件函数即可。

Flash翻页组件目前可运用的领域包括电子杂志、在线互动演示、产品广告、电子相册等等,具有很大的市场应用面,可满足多种不同的需求。

FFlipPage3.0版采用FCL组件模型开发,具有很强的封装性和可扩展性。但由于FCL组件模型基于ActionScript1.0设计,对ActionScript2.0及FlashPlayer7格式无法兼容。因此本组件只能使用在ActionScript1.0及FlashPlayer6环境下(以此格式导出swf即可,并非要求源文件用FlashMX进行编辑,该格式swf也可在FlashPlayer7.0中正常播放)。

Flash翻页组件目前已有众多成功案例,其中较出色的几个案例如下:

九天音乐网电子音乐杂志:http://www.9sky.com/digibook/index.asp

NewWebPick电子杂志创刊号:http://www.blueidea.com/news/other/2004/2174.asp

江苏中电变压器广告:http://www.ceeg.cn/intropage.htm

《倾城》李宝斌首部数字文集:http://www.hercity.com/blog/blog/?blogID=114

上海国际数字内容展电子海报:http://www.idescn.com/case/d/



组件参数说明

组件参数为在组件参数面板中可设置的属性,这些参数在组件显示之前已被接受并初始化。通过对组件参数的设置,可相应改变组件的表现形式和效果。

具体参数说明如下表所示:

参数变量 名称 类型 说明 pageId PageLinkageID 字符串 页面的影片剪辑关联名(Linkage设置)。

各页面的内容放在该影片剪辑之下,默认每帧为一页,第1帧对应第一页,依次类推。 adjustEvenPage AdjustEvenPage 布尔值 是否对偶数页进行位置调整。

若为true则表示无论奇偶页在页面影片剪辑中都放置于右侧(左上角坐标[0,0]),若为false则表示奇页放右侧,偶页放左侧(右上角坐标[0,0]),这种模式对于制作左右开页时比较方便。 autoPage AutoPage 布尔值 是否当页面影片剪辑创建时自动跳至相应帧。

若为true则当页面创建时自动会跳至与页编号相对应的帧(如第五页创建时自动跳至第5帧),若为false则页面创建时不做任何操作。 firstPage FirstPage 整数 第一页对应序号。

页序号在内部以0开始记,左边为偶数,右边为奇数。一般带封面的可设第一页序号为1,不带封面的可设第一页序号为0。 lastPage LastPage 整数 最后一页对应序号。

只有在第一页至最后一页的序号范围内的页面才是可用的。 curPage CurrentPage 整数 当前页序号。

设置当前页可让翻页动画初始化时即跳至指定的页进行显示。 visiblePages VisiblePages 整数 可见页数。

常规情况下左右都只需显示一张静止页面即可,但若需要显示透明页面或者不规则边界的页面时,就需要同时显示多张页面。可将该值设为最多可能看见的静止页数。 showRearPage ShowRearPage 布尔值 是否显示反页。

在特殊情况下需要将页面背部的内容也显示出来(如半透明页面),这时需将该值设为true。 shade Shade 结构体 页中缝阴影区域设定。

结构体中的成员参数如下:

show:表示是否显示该阴影(1表示是、0表示否)

color:阴影的基色(16进制值可用0xHHHH表示)

sizeMin:最小宽度(当为页角状态时)的百分比(相对页面宽度)

sizeMax:最大宽度(当为展开状态时)的百分比

alphaMin:最小不透明度的百分比

alphaMax:最大不透明度的百分比 pageShadow PageShadow 结构体 页面印在下一页上的影子。

结构体成员参数含义同shade。 flipArea FlipArea 结构体 可翻动的区域设定。

结构体中的成员参数如下:

leftTop:左上页角是否可翻动(1表示是、0表示否)

rightTop:右上页角是否可翻动

leftBottom:左下页角是否可翻动

rightBottom:右下页角是否可翻动

leftTopInner:左上页面是否可翻动

rightTopInner:右上页面是否可翻动

leftBottomInner:左下页面是否可翻动

rightBottomInner:右下页面是否可翻动 flipSize FlipSize 结构体 可翻动区域的大小。

结构体中的成员参数如下:

width:页角翻动区域宽度占页面宽度的百分比

height:页角翻动区域高度占页面高度的百分比

innerWidth:页面翻动区域宽度占页面宽度的百分比

innerHeight:页角翻动区域高度占页面高度的百分比 dragAccRatio DragAccelerateRatio 浮点数 页面拖动时的跟随加速度。

取值在0~1。越接近0则跟随越慢,越接近1则越快。为1时则表示拖动时没有任何延迟。 moveAccRatio MoveAccelerateRatio 浮点数 页面移动(非拖动)时的加速度。

取值在0~1。越接近0则移动越慢,越接近1则越快。为1时则表示直接移动到指定坐标。 multiFlip MultipleFlip 布尔值 是否使用多页联翻。

多页联翻即指在某一页尚未翻动完成时,另一页可同时进行翻动。多页联翻比单页翻更具有真实的手感,但要耗费相对较多的系统资源。 active Active 布尔值 是否激活。

当未激活时页面不能移动且不相应鼠标事件。

事件函数说明

事件函数可在组件参数面板中设置(event参数),也可在Action中通过:[翻页组件对象名称].[事件名称]=[事件调用函数或事件调用函数路径]来指定。

若直接指定事件调用函数,则该函数的格式需写为:function函数名(事件参数1,事件参数2,…)。可用无名函数直接赋给到事件。

若通过事件调用函数的路径来指定(组件参数面板中设置的事件即为这种情况),则该函数的格式需写为:function函数名(sender,事件参数1,事件参数2,…)。其中sender参数接收到的值为产生该事件的组件句柄。

具体事件说明如下表所示:

事件名称 参数说明 功能说明 onCreatePage pageMC:新创建的页面影片剪辑对象。该对象有一个初始化参数index,保存了该页面的页序号。

isRear:该页面是否为另一页面的背页。 当有新的页面被创建时调用,以便对新页面进行个性化设置。 onRemovePage pageMC:将被删除的页面影片剪辑对象。

isRear:该页面是否为另一页面的背页。 当有页面被删除时调用,以便对删除的页面进行附加操作。 onAdjustPage pageObj:页面描述对象。该对象包含以下成员参数:main(指向翻页组件本身)、index(当前页序号)、side(-1左页、1右页)、rearPage(是否为背页)、face(书页影片剪辑)、pageMask(书页蒙板影片剪辑)、shade(书中缝阴影影片剪辑)、shadow(书页影子影片剪辑)、position(页面位置描述结构体,参数含x,y坐标、aimX,aimY目标点坐标及trackMouse是否跟随鼠标)

range:页面形状描述对象。该对象包含以下成员参数:type(形状类型)、a(上沿宽度)、b(下沿宽度)、angle(页面转角)、angle2(中缝阴影转角)、height(侧沿长度)。该对象含义较晦涩,一般情况下不推荐调用。 当页面轮廓形状发生变化时调用,以便对页面内容进行相应调整。 onResizePage pageObj:页面描述对象。

width:新的页面宽度。

height:新的页面高度。 当页面大小变化时调用,以便对页面内容进行相应调整。 onSetFlipArea pageObj:页面描述对象。 当页面可翻动区域创建后调用,以便对可翻动区域做相应调整。 onStartFlip pageObj:页面描述对象。 当页面开始翻动时调用。 onStopFlip pageObj:页面描述对象。 当页面停止翻动时调用(非停止移动)。 onFinishFlip pageObj:页面描述对象。 当页面最终移动到目标静止页面状态时调用。 onDragPage pageObj:页面描述对象。

x:当前页面x坐标。

y:当前页面y坐标。

trackMouse:是否为跟随鼠标拖动。 当拖动页面时调用。 onMovePage pageObj:页面描述对象。

x:当前页面x坐标。

y:当前页面y坐标。 当页面移动时调用。

公用属性说明

公用属性是在Action中可进行调用的组件属性,以便通过程序来动态设置组件的效果或表现形式。组件属性中包含所有组件参数。

具体属性说明如下表所示(组件参数不再重复列出):

参数变量 名称 类型 说明 posPrecision PositionPrecision 浮点数 页面从移动到静止之间的判断距离。

当页面坐标与目标点坐标距离小于该值时停止移动。 pageWidth PageWidth 浮点数 页面宽度。 pageHeight PageHeight 浮点数 页面高度。 pages PagesList 数组 页对象列表。

通过页序号进行调用。只有可见的页才保存在该数组中,调用非可见页将返回null值。 flipPages FlippedPagesList 数组 正在翻动的页对象列表。

通过页序号进行调用。只有正在翻动的页才保存在该数组中,调用静止页将返回null值。 flipPage FlippedPageIndex 整数 主翻动页对象的序号。

主翻动页指离当前页最近的那个翻动页。 flipCount FlippedCount 整数 当前正在翻动的页数。

<0表示正在翻动的页在左侧,>0表示在右侧。 flipping Flipping 布尔值 当前是否有页面正在翻动。

即flipCount不为0。

公用方法说明

公用方法是在Action中可进行调用的组件方法,以便通过程序来动态设置组件的效果或表现形式,或控制组件的动作。调用的格式为:[翻页组件对象名称].[方法名称](方法参数1,方法参数2,…)。

具体方法说明如下表所示:

方法名称 参数说明 功能说明 resizePage width:新的页面宽度。若设为null则表示不变。

height:新的页面高度。若设为null则表示不变。 重设页面大小,可用来实现页面形状动态变化。 setFlipSize width:新的页角翻动区域宽度百分比。

height:新的页角翻动区域高度百分比。

innerWidth:新的页面翻动区域宽度百分比。

innerHeight:新的页面翻动区域高度百分比。 设置翻动区域的大小。 startFlip index:要翻动的页序号。该页必须当前可见。

corner:要翻动的页角或页面位置。可为字符串:top、bottom、topInner、bottomInner,分别表示上页角、下页角、上页面、下页面。

aimX:目标点x坐标。若为null则表示启用鼠标跟随,每次鼠标移动的位置自动设为目标点位置。

aimY:目标点y坐标。 开始翻页。

返回成功或失败。 stopFlip index:要停止翻动的页序号。该页必须为正在翻动的页。若为null,则表示停止所有当前正在翻动的页。

finish:是否直接将翻动的页移动到静止位置。若为false,则该方法执行后,翻动的页仍然需要一定的时间移动到目标静止位置。

side:翻动的方向。可为字符串:left、right,分别表示相左翻和向右翻。 停止翻页。

返回成功或失败。 setAimPos index:要设置目标点的页序号。该页必须为正在翻动的页。

aimX:目标点x坐标。若为null则表示启用鼠标跟随,每次鼠标移动的位置自动设为目标点位置。

aimY:目标点y坐标。 设置翻动页的目标点,可实现动态控制页面翻动过程。

返回成功或失败。 gotoPage index:目标页序号。

rebuildPages:是否重建页面。若为false则页面内容不变但页序号更新。 跳转至指定页。

返回成功或失败。 setPageRange first:第一页的页序号。

last:最后一页的页序号。 设置页数范围。

5/5





























































































































































献花(0)
+1
(本文系dylan2080首藏)