公告:2011年8月2号凌晨,咱家宝宝智仔诞生了!

【原创】【AS3】6DN PageFlip AS3.0高效翻页类

  最近研究了一些国外的翻页效果,决定自己写一个as3的翻页类。当然不止我一个人研究过这东东,不过开源的比较少。现在研究完成了,我把这个类命名为6DN PageFlip ,并做为新年礼物开源给大家学习和使用。

图片预览:


程序代码 程序代码
*----------------------------------------------------------------
* @notice 6dn PageFlip翻页类
* @author 6dn
* @as version3.0
* @date 2009-1-4
*
* AUTHOR ******************************************************************************
*
* authorName : 黎新苑 - www.6dn.cn
* QQ :160379558(小星@6dn)
* MSN :xdngo@hotmail.com
* email :6dn@6dn.cn
* webpage :       http://www.6dn.cn
*
* LICENSE ******************************************************************************
*
* ① 此类是在AS3基础上编写,只能对使用as3的swf文件完全支持!
* ② 基本上实现了现有的杂志功能,支持显示阴影,支持拖动翻页以及点击翻页,支持单页和双页显示,支持页面跳转;
* ③ 使用内部xml或外部xml,支持外部读取jpg、gif、png、swf并可混合使用;
* ④ 可扩展实现缩略图预览,可扩展添加loading;
* ⑤ 可自由设置Timer,值越小翻页越流畅,值越大占用CPU越小;
* ⑥ 此类作为开源使用,但请重视作者劳动成果,请使用此类的朋友保留作者信息。
* Please, keep this header and the list of all authors



参考资料:
http://www.flashpageflip.com/
http://www.bytearray.org/?p=77

该类只有一个文件,使用方法类似这样:

程序代码 程序代码
var book_container:MovieClip=new MovieClip();
var mypageflip:PageFlipClass=new PageFlipClass();
var myXML:XML =
        <content width="368" height="450">
                <page src="http://www.mymelodi.com/prophp/pages/124316842401.jpg"/>
                <page src="http://www.mymelodi.com/prophp/pages/993115778604.jpg"/>
                <page src="http://www.mymelodi.com/prophp/pages/619792633705.jpg"/>
                <page src="http://www.mymelodi.com/prophp/pages/143697268512.jpg"/>
                <page src="http://www.mymelodi.com/prophp/pages/734212844613.jpg"/>
                <page src="http://www.mymelodi.com/prophp/pages/325671835314.jpg"/>
        </content>;

book_container.x=10;
book_container.y=10;
addChild(book_container);

mypageflip.myXML=myXML;
mypageflip.book_root=book_container;
mypageflip.book_initpage=0;
mypageflip.book_TimerNum=30;
mypageflip.InitBook();

另外附上两个示例,一个内部加载xml,一个外部加xml,示例文件写得较杂乱,外部加载xml的示例比较完整.
本人不反对用做商业用途,但请保留作者信息。
下载文件 点击下载此文件


评论: 39 | 引用: 0 | 查看次数: 7809
回复回复peng818[2011-12-17 04:42 PM | del]
好像加载的swf中的MOUSE_CLICK事件,会和MouseOnDown事件冲突,失效,不知其他人是否遇到类似问题?
回复回复peng818[2011-11-11 08:23 AM | del]
请问制作目录,如何调用PageGoto()函数呀。是主文件中,还是子SWF中?试了几次,不成功。不悋赐教。
回复回复紫极光[2011-11-09 04:53 PM | del]
呵呵。。关于“轨迹”兄弟的临界值问题其实很好解决的啊。。你用Ctrl+F查找代码,在bookTimerHandler函数中的找到:
book_py = ((render0.mouseY - book_py) * u + book_py) >> 0;这一句。。然后在下面追加一句判断就行了book_py = Boolean(book_py == 0)?1:book_py;

只要不让这个值为0,就不会有问题了。。

倒是我在头疼封面翻页时那个阴影明显有问题。。左边空白区上面也有阴影。。呵呵。还有两个相同页也不能翻页。。还有中间阴影的问题。。呵呵。。
回复回复henjiu[2011-10-28 04:14 PM | del]
为什么打开源文件重新生成下,就出错?
回复回复laoie[2011-08-31 11:37 AM | del]
xml的资源如果放在本地电脑目录下,本地的xml如何写?如何调用?能写下代码吗,谢谢!
回复回复轨迹[2011-05-09 07:48 PM | del]
算了,还是用文字描述问题吧
当执行MouseOnDown时,把鼠标拖到鼠标X坐标的值大于2倍的book_width,并且鼠标Y坐标等于0时,出现翻页书不符合实际情况的问题,我猜测忘记考虑临界点,但是其他3个点的临界点都正常,就是-3这个区域有问题,代码找的我头痛,求助作者来了
回复回复轨迹[2011-05-09 07:34 PM | del]
这个评论怎么屏蔽我发图呢?
回复回复轨迹[2011-05-09 07:33 PM | del]
我发现一个BUG,希望作者能够做一下微小的修改
BUG:
当鼠标拖到Y坐标为0,的时候,出现问题
              | -1|    |     | -3 | 鼠标位置
              |---      |      ----|
              |     1   |   3      |
              |--------|---------|
              |     2   |   4      |
              |----     |      ----|
             | -2 |   |     | -4 |
               --------------------
回复回复Jonathan.c[2011-04-12 04:32 PM | del]
做的真不错  请问加载的图片我可以点击放大吗 急求解!
回复回复鬼牌[2011-03-18 09:29 PM | del]
[b]非常感谢你[/b]
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 关闭 | [img]标签 关闭