book.as

来自「as3.0 翻书效果」· AS 代码 · 共 78 行

AS
78
字号
/**
* 书体容器类;
* @author crlnet
* @version 1.1
*/

package crlclr{
	
	import crlclr.Interface.IResizeable;
	import crlclr.data.PageData;
	
	import flash.display.*;
	import flash.events.*;
	import crlclr.Page;
	
	public class Book{
		
		private var data:Qxml;
		private var pageList:Array;
		private var pageCanTear:Array;
		public static var Instance:Book= new Book();

		public static function getInstance():Book{
			return Instance;
		}
		
		public function Book(){
			if(Instance!=null){
				throw new Error("单件")
			}
			pageList=new Array();
			pageCanTear=new Array();
		}
		
		/**
		* 只写属性.
		* @param	data
		*/
		public function set Data(data:Qxml){
			this.data=data;
			this.createChildren();
		}
		
		private function createChildren():void{
			var len:int=data.Length;
			
			var w:int=data.PageWidth
			var h:int=data.PageHeight;
			
			pageList.push(new BlankPage());
			pageCanTear.push(false)
			for(var i:int=0;i<len;i++){
				var page:Page=new Page(w,h);
				page.isRight=Boolean((i+1)%2);
				page.Data=data.PageDataList[i] as PageData;
				page.loadThumb();
				pageList.push(page);
				//
				pageCanTear.push(false)
			}
			pageCanTear.push(false)
			pageList.push(new BlankPage());
		}
		public function get canTearList():Array{
			return this.pageCanTear;
		}
		public function get List():Array{
			return this.pageList;
		}
		public function getPage(index:int){
			return this.pageList[index];
		}
		public function get Lenght(){
			return this.pageList.length;
		}
		
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?