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

📄 page.as

📁 flex书效果代码
💻 AS
字号:
package com.san.components
{
	import com.mh.movable.core.MovableCanvas;
	import com.san.components.library_classes.PhotoRenderer;
	import com.san.components.library_classes.DragDataTypes;
	import com.san.components.movable.MovableElipse;
	import com.san.components.movable.MovableImage;
	import com.san.components.movable.MovableRectangle;
	import com.san.components.movable.MovableStar;
	import com.san.components.movable.MovableText;
	import com.san.values.Photo;
	
	import flash.events.MouseEvent;
	
	import mx.core.UIComponent;
	import mx.events.DragEvent;
	import mx.managers.DragManager;

	public class Page extends MovableCanvas
	{
		
		
		
		public function Page()
		{
			this.addEventListener( MouseEvent.CLICK, mouseClickHandler );
			this.addEventListener( DragEvent.DRAG_ENTER, dragEnterHandler );
			this.addEventListener( DragEvent.DRAG_DROP, dragDropHandler );
		}
		
		
		private function mouseClickHandler( event:MouseEvent ):void
		{
			this.setFocus();
		}
		
		
		private function dragEnterHandler( event:DragEvent ):void
		{
			if( event.dragSource.hasFormat( DragDataTypes.PHOTO ) || 
				event.dragSource.hasFormat( DragDataTypes.STICKER ) || 
				event.dragSource.hasFormat( DragDataTypes.BACKGROUND ) || 
				event.dragSource.hasFormat( DragDataTypes.TILE ))
			{
				DragManager.acceptDragDrop( event.currentTarget as UIComponent );
			}
		}
		
		
		private function dragDropHandler(event:DragEvent):void
		{
			if( event.dragSource.hasFormat( DragDataTypes.PHOTO ) )
				handlePhotoDrop( event );
			
			if( event.dragSource.hasFormat( DragDataTypes.STICKER ) )
				handleStickerDrop( event );
			
			
		}
		
		
		private function handlePhotoDrop( event:DragEvent ):void
		{
			var photo:Photo = event.dragSource.dataForFormat( DragDataTypes.PHOTO ) as Photo;
			
			var di:PhotoRenderer = event.dragInitiator as PhotoRenderer;
			
			var mi:MovableImage = new MovableImage();
				mi.photoData = photo;
				mi.x = event.localX - (di.width/2);
				mi.y = event.localY - (di.height/2);
				mi.width = di.width;
				mi.height = di.height;
			this.addChild( mi );	
			
			this.setFocus();			
		}
		
		
		private function handleStickerDrop( event:DragEvent ):void
		{
			var shape:String = event.dragSource.dataForFormat( DragDataTypes.STICKER ) as String;
			
			var di:UIComponent = event.dragInitiator as UIComponent;
			
			var ms:UIComponent;
			
			switch( shape )
			{
				case MovableElipse.MOVABLE_ELIPSE:
					ms = new MovableElipse();
					break;
				case MovableRectangle.MOVABLE_RECTANGLE:
					ms = new MovableRectangle();
					break;
				case MovableStar.MOVABLE_STAR:
					ms = new MovableStar();
					break;
				case MovableText.MOVABLE_TEXT:
					ms = new MovableText();
					break;
			}
			
			ms.x = event.localX - (di.width/2);
			ms.y = event.localY - (di.height/2);
			ms.width = di.width;
			ms.height = di.height;
		
			this.addChild( ms );
			
			this.setFocus();
		}
		
		
		
		
	}
}

⌨️ 快捷键说明

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