AS3Book,我翻、翻、翻....
经过长达2个多月的努力,AS3Book终于在今天早上完工了!长达两个月的努力啊!
下面就AS3Book类库的用法,简单的介绍一下。
首先,看看AS3Book类库的工程架构如下:
这么多啊,其实我们能用到的很少,就那么几个...
<+> 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、首先创建一本书。
- var flipBook:FlipBook=new FlipBook();
2、给flipBook添加封面,封底,内页。
- var fc:FrontCover = new FrontCover();
- var bc:BackCover = new BackCover();
- var pageage=new Page();
- fc.load("image/frontCover.jpg");
- bc.load("image/backCover.jpg");
- page.load("image/1.jpg");
- flipBook.addPage(fc);
- flipBook.addPage(bc);
- flipBook.addPage(page);
3、在舞台上添加flipBook。
- addChild(flipBook);
就这么简单,下面是一个demo的文档类,可以参考一下,欢迎大家来找bug...
- package
- {
- import flash.display.Sprite;
- import ladeng6666.AS3Book.FlipBook;
- import ladeng6666.AS3Book.net.Stats;
- import ladeng6666.AS3Book.page.Page;
- import ladeng6666.AS3Book.page.AbstractPage;
- import ladeng6666.AS3Book.page.BackCover;
- import ladeng6666.AS3Book.page.FrontCover;
- import ladeng6666.AS3Book.events.FlipEvent;
- /**
- * ...
- * @author ladeng6666
- * @link http://blog.sina.com.cn/ladeng6666
- * @version AS3Book 1.0 beta
- */
- public class AS3BookExample extends Sprite
- {
- private var flipBook:FlipBook;
- private var counter:Number = 0;
- public function AS3BookExample()
- {
- //创建一本书flipBook
- flipBook = new FlipBook();
- flipBook.x = 100;
- flipBook.y = 100;
- //循环遍历,添加10个页面
- for (var i = 1; i <= 10; i++) {
- var page:Page = new Page();
- page.load("image/" + i + ".jpg");
- page.addEventListener(FlipEvent.COMPLETE, completeHandler);
- }
- //创建并实例化封面和封底
- var fc:FrontCover = new FrontCover();
- var bc:BackCover = new BackCover();
- fc.load("image/frontCover.jpg");
- bc.load("image/backCover.jpg");
- fc.addEventListener(FlipEvent.COMPLETE, completeHandler);
- bc.addEventListener(FlipEvent.COMPLETE, completeHandler);
- //监视flash的内存使用状况
- var sta:Stats = new Stats();
- addChild(sta);
- }
- private function completeHandler(e:FlipEvent):void {
- flipBook.addPage(e.target as AbstractPage);
- counter++;
- if (counter < 11) {
- trace(counter + "/11 pages loaded");
- }else {
- //全部加载完毕之后,把flipBook添加到舞台上去
- addChild(flipBook);
- trace("Load completed");
- }
- }
- }
- }
Demo:
ladeng6666.rar