返回列表 回复 发帖

【AS3Book】翻!翻!翻!

本帖最后由 ladeng6666 于 2009-6-21 15:55 编辑

AS3Book banner.jpg
2009-6-21 15:54

经过长达2个多月的努力,AS3Book终于在今天早上大了个便之后完工了!长达两个月的努力啊!
下面就AS3Book类库的用法简单的介绍一下:
首先,看看AS3Book类库的工程架构如下:
工程架构.jpg
2009-6-21 15:54

这么多啊,其实我们能用到的很少,就那么几个
<+> FlipBook
    这个是我们要建立的那本书,不过,创建之后,书是空的,什么都没有,要我们自己添加封面(FrontCover),封底(BackCover)和内页(Page).
    父类->Sprite
构造方法:
    FlipBook(bookWidth:Number=800,bookHeight:Number=600) //书本的长宽默认为800*600
公共方法:
    addPage(page:AbstractPage):void//添加内页,就跟addChild一样使用,不过这里添加的不是孩子,是Page
    nextPage():void           //翻至下一页
    prevPage():void           //翻至上一页
    frontCover():void         //翻至封面页
    backCover():void          //翻至封底页
    gotoPage(num:Number):void //翻至指定页,num为页码
公共属性:
     pageNum:Number      //返回当前页的页码
<+> Page
    父类->AbstractPage
构造方法:
    Page()
公共方法:
    load(url:String):void //加载页面内容
事件:
    complete  ladeng6666.AS3Book.events.FlipEvent.COMPLETE,当页面内容加载完毕后触发这个事件.
<+> FrontCover和BackCover
    跟Page类大同小异,也是只有一个load方法.事件complete
这样一来,做一本杂志就很简单了:
1.首先创建一本书
  1. var flipBook:FlipBook=new FlipBook();
复制代码
2.给flipBook添加封面,封底,内页
  1.    var fc:FrontCover = new FrontCover();
  2.    var bc:BackCover = new BackCover();
  3.    var pageage=new Page();
  4.    fc.load("image/frontCover.jpg");
  5.    bc.load("image/backCover.jpg");
  6.    page.load("image/1.jpg");

  7.    flipBook.addPage(fc);
  8.    flipBook.addPage(bc);
  9.    flipBook.addPage(page);
复制代码
3.在舞台上添加flipBook
  1.    addChild(flipBook);
复制代码
就这么简单,下面是一个demo的文档类,可以参考一下,欢迎大家来找bug.
  1. package  
  2. {
  3.         import flash.display.Sprite;
  4.         
  5.         import ladeng6666.AS3Book.FlipBook;
  6.         import ladeng6666.AS3Book.net.Stats;
  7.         import ladeng6666.AS3Book.page.Page;
  8.         import ladeng6666.AS3Book.page.AbstractPage;
  9.         import ladeng6666.AS3Book.page.BackCover;
  10.         import ladeng6666.AS3Book.page.FrontCover;
  11.         import ladeng6666.AS3Book.events.FlipEvent;
  12.         
  13.         /**
  14.          * ...
  15.          * @author        ladeng6666
  16.          * @link        [url=http://blog.sina.com.cn/ladeng6666]http://blog.sina.com.cn/ladeng6666[/url]
  17.          * @version        AS3Book 1.0 beta
  18.          */
  19.         public class AS3BookExample extends Sprite
  20.         {
  21.                 private var flipBook:FlipBook;
  22.                 private var counter:Number = 0;
  23.                
  24.                 public function AS3BookExample()
  25.                 {
  26.                         //创建一本书flipBook
  27.                         flipBook = new FlipBook();
  28.                         flipBook.x = 100;
  29.                         flipBook.y = 100;
  30.                         
  31.                         //循环遍历,添加10个页面
  32.                         for (var i = 1; i <= 10; i++) {
  33.                                 var page:Page = new Page();
  34.                                 page.load("image/" + i + ".jpg");
  35.                                 page.addEventListener(FlipEvent.COMPLETE, completeHandler);
  36.                         }
  37.                         //创建并实例化封面和封底
  38.                         var fc:FrontCover = new FrontCover();
  39.                         var bc:BackCover = new BackCover();
  40.                         fc.load("image/frontCover.jpg");
  41.                         bc.load("image/backCover.jpg");
  42.                         fc.addEventListener(FlipEvent.COMPLETE, completeHandler);
  43.                         bc.addEventListener(FlipEvent.COMPLETE, completeHandler);
  44.                         
  45.                         //监视flash的内存使用状况
  46.                         var sta:Stats = new Stats();
  47.                         addChild(sta);
  48.                 }
  49.                 private function completeHandler(e:FlipEvent):void {
  50.                         flipBook.addPage(e.target as AbstractPage);
  51.                         counter++;
  52.                         if (counter < 11) {
  53.                                 trace(counter + "/11 pages loaded");
  54.                         }else {
  55.                                 //全部加载完毕之后,把flipBook添加到舞台上去
  56.                                 addChild(flipBook);
  57.                                 trace("Load completed");
  58.                         }
  59.                 }
  60.         }
  61. }
复制代码
ladeng6666.rar (15.1 KB)
Demo太大了,传不上来,大家去这个地址下吧!
http://www.brsbox.com/filebox/down/fc/b2c704318b467acb90b5f323722f1e84
在天地会看到了,厉害
赞一个,辛苦了
好东西  收藏了,谢谢
本人看不懂,收藏了,觉得是个好东西,等以后细细研究,有劳楼主啦!!
好东西 收藏:victory:
这个太强了
强人真多~
:lol 撞上好东西了…… 那就不客气。先收了... 再学习...

感谢楼主无私共享。
這東西AS3 open source挺難找的,謝謝樓主無私的分享
我还能说什么呢!谢谢!!我爱你,我爱你!
膜拜~ 感谢分享
顶NB的楼主。
承接网站建设、FLASH类项目、招收AS3.0学员。
QQ:8286659。
学成作品:http://www.taoshaw.com/v3
返回列表