hiraganaPen

by miyaoka
♥0 | Line 85 | Modified 2008-12-24 03:47:57 | MIT License
play

ActionScript3 source code

/**
 * Copyright miyaoka ( http://wonderfl.net/user/miyaoka )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/muGA
 */

package 
{	
	import flash.display.Sprite;
	import flash.events.MouseEvent;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import caurina.transitions.Tweener;
	import flash.text.TextFormat;
	
	[SWF(width = "465", height = "465", backgroundColor = 0xffffff, frameRate = "60")]
	
	public class Main
	extends Sprite
	{
		private var textContainer:Sprite = new Sprite;
		private var clearBtn:Sprite = new Sprite;
		private var clrIdx:uint = 0;
		public function Main():void 
		{
			addChild(textContainer);
			addChild(clearBtn);
			
			var clearStr:String = "けすボタン";
			var clearY:Number = 0;
			
			for (var i:uint = 0; i < clearStr.length; i++)
			{
				var tfd:TextField = new TextField();
				tfd.text = clearStr.charAt(i);
				tfd.textColor = 0xffffff;
				tfd.selectable = false;
				tfd.autoSize = TextFieldAutoSize.LEFT;

				var tfmt:TextFormat = new TextFormat();
				tfmt.size = Math.random()*24 + 24;
				tfmt.font = "_明朝";
				tfd.setTextFormat(tfmt);
				
				tfd.y = clearY;
				clearY += tfd.height;
				clearBtn.addChild(tfd);
			}
			
			clearBtn.graphics.beginFill(0x000000);
			clearBtn.graphics.drawRect(0, 0, clearBtn.width, clearBtn.height);
			clearBtn.graphics.endFill();
			clearBtn.addEventListener(MouseEvent.MOUSE_DOWN,
			function ():void 
			{
				while (0 < textContainer.numChildren) textContainer.removeChildAt(0);
			}
			);
			
			stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
			stage.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
		}
		private function mouseDownHandler(e:MouseEvent):void 
		{
			stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
			mouseMoveHandler(null);
		}
		private function mouseUpHandler(e:MouseEvent):void 
		{
			stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
		}
		private function mouseMoveHandler(e:MouseEvent):void 
		{
			//12353 ぁ
			//12435 ん
			
			var tfd:TextField = new TextField();
			tfd.text = String.fromCharCode(12353 + Math.floor(Math.random() * 83 ));
			tfd.selectable = false;
			tfd.autoSize = TextFieldAutoSize.LEFT;
			
			var tfmt:TextFormat = new TextFormat();
			tfmt.size = 12;
			tfmt.font = "_明朝";
			tfd.setTextFormat(tfmt);
			
			var sp:Sprite = new Sprite();
			sp.addChild(tfd);
			textContainer.addChild(sp);
			
			sp.scaleX = sp.scaleY = Math.random() * 10 + 5;
			sp.x = stage.stageWidth / 2 - sp.width;
			sp.y = -sp.height;

			Tweener.addTween(sp, {
				x: mouseX,
				y: mouseY,
				scaleX: sp.scaleX / 10,
				scaleY: sp.scaleY / 10,
				time: 1.0,
				transition: "easeOutQuint"
			});
			
			while (1000 < textContainer.numChildren) textContainer.removeChildAt(0);
		}
	}	
}