⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 page.as

📁 as3.0 翻书效果
💻 AS
字号:
/**
* Description here..
* @author crlnet
* @version 1.1
*/

package crlclr {
	
	import crlclr.data.HotAreaInfo;
	import crlclr.data.InnerMediaInfo;
	import crlclr.data.PageData;
	import crlclr.Interface.IPage;
	import crlclr.Interface.IResizeable;
	import crlclr.ui.NumberContainer;
	import flash.display.Shape;
	import flash.geom.Rectangle;
	
	import flash.display.LoaderInfo;
	import flash.display.Bitmap;
	import flash.display.Graphics;
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.net.URLRequest;
	import flash.events.*;

	public class Page extends BlankPage{
		public var isRight:Boolean=false;
		
		private var data:PageData;
		private var loader:Loader;
		
		private var shadow:shade;
		private var Qmask:Shape;
		private var thumb:Sprite;
		private var ipage:Sprite;
		private var hotAreaContainer:Sprite;
		private var innerMediaContainer:Sprite;
		
		public function Page(w:Number,h:Number){
			super(w,h);
		}
		
		/**
		* 创建载体;
		*/
		protected override function createChildren():void{
			thumb=new Sprite();
			
			ipage=new Sprite();
			hotAreaContainer=new Sprite();
			innerMediaContainer=new Sprite();
			
			addChild(thumb);
			addChild(ipage);
			addChild(innerMediaContainer);
			addChild(hotAreaContainer);
			
			
			loader=new Loader();
			//addChild(loader)
			loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,IOErrorHander)
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHander);
			loader.contentLoaderInfo.addEventListener(Event.INIT,initHander);
		}
		
		/**
		* 一些属性;
		* @param	data
		* @return
		*/
		public function set Data(data:*):void{
			this.data=data;
			init();
		}
		
		/**
		* 
		*/
		public function init():void{
			this.createHotArea();
			this.loadInnerMedia();
			this.createMaskAndInnerShadow();
		}		
		
		/**
		* 创建遮照,以便显示出所需的内容;
		*/
		public function createMaskAndInnerShadow():void{
			Qmask=new Shape();
			Qmask.graphics.beginFill(0xFFFFFF*Math.random(),1);
			Qmask.graphics.drawRect(0,0,w,h);
			Qmask.graphics.endFill();
			addChild(Qmask);
			this.mask=Qmask;
			
			this.shadow=new shade();
			addChild(this.shadow);
			
			this.shadow.height=this.h;
			if(this.isRight){
				this.shadow.scaleX=-1.0;
			}else{
				this.shadow.x=this.w;
			}
		}
		
		
		/**
		* 加载缩略图与媒体图,分开会清析一点;
		*/
		public function loadThumb():void{
			var urlRequest:URLRequest=new URLRequest(data.Thumb);
			loader.load(urlRequest);
		}
		public function loadIpage():void{
			var urlRequest:URLRequest=new URLRequest(data.Thumb);
			loader.load(urlRequest);
		}
		
		
		private function completeHander(event:Event){
			//trace(event)
		}
		private function IOErrorHander(event:IOErrorEvent):void{
			event.target.loader.close();
			trace("文件没找到"+event.stopImmediatePropagation())
		}
		private function initHander(event:Event):void{
			var loadinfo:LoaderInfo=event.target as LoaderInfo;
			
			thumb.addChild(loadinfo.content);
			if(this.isRight&&loadinfo.width>2*(this.w-10)){
				thumb.x=-w;
			}
		}
		
		/**
		* 
		*/
		public function createHotArea(){
			var hotAreaList:Array=this.data.HotAreaList;
			var hotArea:Sprite;
			for each(var i:HotAreaInfo in hotAreaList){
				hotArea=new Sprite();
				/*var g:Graphics=hotArea.graphics;
				g.beginFill(0xf2f2f2,.8);
				g.drawRect(i.Coords);*/
				hotAreaContainer.addChild(hotArea);
			}
			
		}
		
		/**
		* 
		*/
		public function loadInnerMedia(){
			var innerMediaList:Array=this.data.InnerMediaList;
			for each(var i:InnerMediaInfo in innerMediaList){
				
			}
		}
	}
	
}

⌨️ 快捷键说明

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