ActionScript AS2从文本中删除HTML标记

function stripTags($myString:String):String
{
	while ((istart = $myString.indexOf("<")) != -1)
	{
		$myString = $myString.split($myString.substr(istart, $myString.indexOf(">")-istart+1)).join("");
	}
	return $myString;
}

ActionScript 字节到可读格式(字节,kb,mb等)

public static function readablizeBytes(bytes:uint):String
{
	var s:Array 	= ['bytes', 'kb', 'MB', 'GB', 'TB', 'PB'];
	var e:Number 	= Math.floor( Math.log( bytes ) / Math.log( 1024 ) );
	return ( bytes / Math.pow( 1024, Math.floor( e ) ) ).toFixed( 2 ) + " " + s[e];
}

ActionScript AS RC4

/**
* Encrypts and decrypts an alleged RC4 hash.
* @author Mika Palmu
* @version 1.0
*
* Orginal Flash port by:
* Gabor Penoff - http://www.fns.hu
* Email: fns@fns.hu
*/

class com.meychi.ascrypt.RC4 {

	/**
	* Variables
	* @exclude
	*/
	private static var sbox:Array = new Array(255);
	private static var mykey:Array = new Array(255);
	
	/**
	* Encrypts a string with the specified key.
	*/
	public static function encrypt(src:String, key:String):String {
		var mtxt:Array = strToChars(src);
		var mkey:Array = strToChars(key);
		var result:Array = calculate(mtxt, mkey);
		return charsToHex(result);
	}
	
	/**
	* Decrypts a string with the specified key.
	*/
	public static function decrypt(src:String, key:String):String {
		var mtxt:Array = hexToChars(src);
		var mkey:Array = strToChars(key);
		var result:Array = calculate(mtxt, mkey);
		return charsToStr(result);
	}
	
	/**
	* Private methods.
	*/
	private static function initialize(pwd:Array) {
		var b:Number = 0;
		var tempSwap:Number;
		var intLength:Number = pwd.length;
		for (var a:Number = 0; a <= 255; a++) {
			mykey[a] = pwd[(a%intLength)];
			sbox[a] = a;
		}
		for (var a:Number=0; a<=255; a++) {
			b = (b+sbox[a]+mykey[a]) % 256;
			tempSwap = sbox[a];
			sbox[a] = sbox[b];
			sbox[b] = tempSwap;
		}
	}
	private static function calculate(plaintxt:Array, psw:Array):Array {
		initialize(psw);
		var i:Number = 0; var j:Number = 0;
		var cipher:Array = new Array();
		var k:Number, temp:Number, cipherby:Number;
		for (var a:Number = 0; a<plaintxt.length; a++) {
			i = (i+1) % 256;
			j = (j+sbox[i])%256;
			temp = sbox[i];
			sbox[i] = sbox[j];
			sbox[j] = temp;
			var idx:Number = (sbox[i]+sbox[j]) % 256;
			k = sbox[idx];
			cipherby = plaintxt[a]^k;
			cipher.push(cipherby);
		}
		return cipher;
	}
	private static function charsToHex(chars:Array):String {
		var result:String = new String("");
		var hexes:Array = new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");
		for (var i:Number = 0; i<chars.length; i++) {
			result += hexes[chars[i] >> 4] + hexes[chars[i] & 0xf];
		}
		return result;
	}
	private static function hexToChars(hex:String):Array {
		var codes:Array = new Array();
		for (var i:Number = (hex.substr(0, 2) == "0x") ? 2 : 0; i<hex.length; i+=2) {
			codes.push(parseInt(hex.substr(i, 2), 16));
		}
		return codes;
	}
	private static function charsToStr(chars:Array):String {
		var result:String = new String("");
		for (var i:Number = 0; i<chars.length; i++) {
			result += String.fromCharCode(chars[i]);
		}
		return result;
	}
	private static function strToChars(str:String):Array {
		var codes:Array = new Array();
		for (var i:Number = 0; i<str.length; i++) {
			codes.push(str.charCodeAt(i));
		}
		return codes;
	}

}

ActionScript 绘制矩形

// Draws a solid rectangle inside a movieClip
function drawRectangle(target:MovieClip,
								   color:Number,
								   alpha:Number,
								   x:Number,
								   y:Number,
								   w:Number,
								   h:Number
								   ):Void{
		
		target.beginFill(color, alpha);
		target.moveTo(x, y);
		target.lineTo(w, y);
		target.lineTo(w, h);
		target.lineTo(x, h);
		target.lineTo(x, y);
		target.endFill();
}// draw rectangle


// USAGE ---------------------------------------------------------//
drawRectangle(movieClip_MC, 0xFF0FFF, 0, 0, 100, 100, 100);

ActionScript 获取矢量距离

// getDistance between two points
function getDistance(x1:Number, x2:Number, y1:Number, y2:Number):Number{
	var difX:Number = x2-x1;
	var difY:Number = y2-y1;
	//
	var doubleX:Number = Math.pow(difX, 2);
	var doubleY:Number = Math.pow(difY, 2);
	//
	return Math.sqrt(doubleX  * doubleX + doubleY * doubleY);
}

// Usage
getDistance(0, 0, 100, 100);

ActionScript 模数网格

var boxNum:int = 15;
var cols:int = 4;
 
for (var i:int = 0; i<boxNum; i++) {
    var box:Box = new Box();
    box.x = 50 + box.width * (i % cols);
    box.y = 50 + box.height * int(i / cols);
    addChild(box);
}

ActionScript 两点之间的距离

dx = x2 – x1;
dy = y2 – y1;
dist = Math.sqrt(dx*dx + dy*dy);

ActionScript 使用ActionScript 3单击“标签”

// http://forums.adobe.com/message/3041278

function click_hover(e:MouseEvent):void
{
	var clickTAG:String = this.loaderInfo.parameters.clickTAG;
	
	// check if the variable has value
	if (clickTAG) {
	  var request:URLRequest = new URLRequest(clickTAG);
	  navigateToURL(request, "_blank");
	}
}

ActionScript 从DisplayObjectContainer中删除所有子项

while (displayObjectContainer.numChildren) {
    displayObjectContainer.removeChildAt(0);   
}

ActionScript Preloader甘菊

import flash.display.Graphics;
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.TimerEvent;
import flash.geom.Point;
import flash.utils.Timer;

public class PreloaderCamomile extends Sprite
{
	private static const RAD:Number = Math.PI / 180;
	private const petalsCount:int = 12;

	private var radius:int;
	private var innerRadius:int;
	private var petalGage:Number;
	private var color:uint;

	private const petals:Vector.<Shape> = new Vector.<Shape>;
	private const timer:Timer = new Timer(80);

	public function PreloaderCamomile(size:int = 20, color:uint = 0)
	{
		radius = size * .5;
		innerRadius = radius * .42;
		petalGage = 360 / petalsCount;
		this.color = color;
		addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler);
		addEventListener(Event.REMOVED_FROM_STAGE, removedFromStageHandler);
	}

	private function addedToStageHandler(event:Event):void
	{
		for (var i:int = 1; i <= petalsCount; i++)
		{
			var petal:Shape = new Shape();
			drawPetal(petal.graphics, i * petalGage);
			addChild(petal);
			petals.push(petal);
			petal.alpha = 0;
		}
		timer.addEventListener(TimerEvent.TIMER, timerEventHandler);
		timer.start();
	}

	private function removedFromStageHandler(event:Event):void
	{
		timer.removeEventListener(TimerEvent.TIMER, timerEventHandler);
		timer.stop();
		while (petals.length)
		{
			removeChild(petals.shift());
		}
	}

	private function timerEventHandler(event:TimerEvent):void
	{
		var start:int = timer.currentCount % petalsCount;
		var end:int = start + petalsCount + 1;
		for (var i:int = start; i < end; i++)
		{
			var index:int = (i < petalsCount) ? i : i - petalsCount;
			petals[index].alpha = 1 / (1 + end - i);
		}
	}

	private function drawPetal(g:Graphics, angle:Number):void
	{
		var p1:Point = Point.polar(radius, angle * RAD);
		var p2:Point = Point.polar(radius, (angle + petalGage / 2) * RAD);
		var p3:Point = Point.polar(innerRadius, angle * RAD);
		var p4:Point = Point.polar(radius, (angle - petalGage / 2) * RAD);

		g.moveTo(p1.x, p1.y);
		g.beginFill(color);
		g.curveTo(p2.x, p2.y, p3.x, p3.y);
		g.curveTo(p4.x, p4.y, p1.x, p1.y);
		g.endFill();
	}

}