Version Check for Flash Player 10.1 [Piyo]

by ProjectNya forked from Version Check for Flash Player 11.4 (diff: 86)
♥0 | Line 122 | Modified 2010-06-12 17:56:12 | MIT License
play

ActionScript3 source code

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

// forked from clockmaker's Version Check for Flash Player 10.1
package 
{
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.net.navigateToURL;
	import flash.net.URLRequest;
	import flash.system.Capabilities;
	import flash.system.LoaderContext;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.text.TextFormat;
	import flash.geom.Rectangle;
	import net.wonderfl.widget.Wanco;
	import com.bit101.components.*;
	
	public class Main extends Sprite 
	{
		private var trianglelines:TriangleLines;
		public function Main():void 
		{
			var version:Array = Capabilities.version.split(" ")[1].split(",");
			var major:int = int(version[0]);
			var minor:int = int(version[1]);
			var build:int = int(version[2]);
			
			var tf:TextField = new TextField();
			tf.defaultTextFormat = new TextFormat("Arial", 16, null, true, null, null, null, null, "center");
			tf.autoSize = TextFieldAutoSize.CENTER;
			
			if (major >= 10 && minor >= 1)
			{
				tf.text = "Your Version is [" + Capabilities.version + "]\nGood!";
				tf.textColor = 0xFF0000;

				var loader:Loader = new Loader();
				loader.load(new URLRequest('http://www.project-nya.jp/images/flash/chick.swf'), new LoaderContext(true));
				loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete, false, 0, true);
				addChild(loader);
				
				loader.x = 232;
				loader.y = 380;
				loader.scaleX = loader.scaleY = 5;
			}
			else
			{
				tf.text = "Your Version is [" + Capabilities.version + "]\nPlease Get Flash Player 10.1";
				new PushButton( this, stage.stageWidth / 2 - 60, stage.stageHeight/2 + 100, "Get Flash Player 10.1", function(e:*):void {
					navigateToURL(new URLRequest("http://get.adobe.com/flashplayer/"), "_blank");
				});
				tf.textColor = 0x000000;
				
				var wanco:Wanco = new Wanco();
				addChild(wanco);
				
				wanco.x = stage.stageWidth / 2 >> 0;
				wanco.y = stage.stageHeight / 2 >> 0;
			}
			
			addChild(tf);
			tf.x = (stage.stageWidth - tf.textWidth) / 2 >> 0;
			tf.y = stage.stageHeight / 2 + 80 >> 0;

			var rect:Rectangle = new Rectangle(0, 0, 465, 465);
			trianglelines = new TriangleLines(rect, 0x000000);
			addChild(trianglelines);
		}
		private function complete(evt:Event):void
		{
			trianglelines.start();
		}
	}
}


import flash.display.Sprite;
import flash.events.Event;
import flash.geom.Rectangle;
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.display.Graphics;
import flash.geom.Matrix;

class TriangleLines extends Sprite {
	private var rect:Rectangle;
	private var canvas:BitmapData;
	private static var radian:Number = Math.PI/180;
	private var color:uint;

	public function TriangleLines(r:Rectangle, c:uint) {
		rect = r;
		color = c;
		init();
	}

	private function init():void {
		canvas = new BitmapData(rect.width, rect.height, true, 0x00000000);
		addChild(new Bitmap(canvas));
	}
	public function start():void {
		drawLines();
		addEventListener(Event.ENTER_FRAME, update, false, 0, true);
	}
	private function update(evt:Event):void {
		canvas.lock();
		canvas.fillRect(rect, 0x00000000);
		drawLines();
		canvas.unlock();
	}
	private function drawLines():void {
		var line:Sprite = new Sprite();
		drawTriangle(line.graphics);
		var a:uint = 2;
		var rw:uint = rect.width;
		var rh:uint = rect.height;
		var length:uint = rw/2*Math.sqrt(2);
		for (var n:uint = 0; n < 360; n += Math.round(Math.random()*a)) {
			var dx:Number = Math.sin(n*radian)*length + rw/2;
			var dy:Number = Math.cos(n*radian)*length + rh/2;
			var matrix:Matrix = new Matrix();
			matrix.scale(5, Math.random()*length + length/2);
			matrix.rotate(-n*radian);
			matrix.translate(dx, dy);
			canvas.draw(line, matrix, null, null, null, false);
		}
		line = null;
	}
	private function drawTriangle(g:Graphics):void {
		g.beginFill(color);
		g.moveTo(-0.5, 0);
		g.lineTo(0.5, 0);
		g.lineTo(0, -0.5);
		g.lineTo(-0.5, 0);
		g.endFill();
	}

}