ActionScript 3 AS3:onDragOver,onDragOut,onReleaseOutside

var button:Sprite = new Sprite();
    button.graphics.beginFill(0x000000, 1);
    button.graphics.drawRect(50,50,200,100);
    button.buttonMode = true;
    button.addEventListener(MouseEvent.MOUSE_DOWN, buttonPress);
    button.addEventListener(MouseEvent.MOUSE_UP, buttonRelease);
    button.addEventListener(MouseEvent.MOUSE_OVER, buttonOver);
    button.addEventListener(MouseEvent.MOUSE_OUT, buttonOut);
addChild(button);


function buttonPress(e:MouseEvent):void {
	trace(e.currentTarget.parent.parent + " == " + stage);
     stage.addEventListener(MouseEvent.MOUSE_UP, buttonRelease);
}

function buttonRelease(e:MouseEvent):void {
     //Remove the Stage listener created on buttonPress
     stage.removeEventListener(MouseEvent.MOUSE_UP, buttonRelease);

	//The Mouse was released outside the target Box
     if (e.currentTarget != button) {
          trace('onReleasedOutside');
     } else {
		//The Mouse was released inside the target Box
          trace('onRelease');
     }
}

function buttonOver(e:MouseEvent):void {
	//The user is dragging something to the target object
     if (e.buttonDown) {
		//The state is MOUSE_DOWN
          trace('onDragOver');
     } else {
		//The state is MOUSE_UP
          trace('onRollOver');
     }
}

function buttonOut(e:MouseEvent):void {
	//The user is dragging something from the target object
     if (e.buttonDown) {
		//The state is MOUSE_DOWN
          trace('onDragOut');
     } else {
		//The state is MOUSE_UP
          trace('onRollOut');
     }
}

ActionScript 3 AS3:弱引用的听众

// params: eventName, listener, capturePhase, priority, useWeakReference
someObj.addEventListener("eventName",myFunct,false,0,true);
var video:Video = new Video(380, 214);
addChild(video);
				
var nc:NetConnection = new NetConnection();
nc.connect(null);
				
var ns:NetStream = new NetStream(nc);
ns.addEventListener(NetStatusEvent.NET_STATUS, onStatusEvent);
				
function onStatusEvent(stat:Object):void {
trace(stat.info.code);
}
				
var meta:Object = new Object();
meta.onMetaData = function(meta:Object){
trace(meta.duration);
}
				
ns.client = meta;
			
video.attachNetStream(ns);
				
ns.play("video.flv");

ActionScript 3 AS3:预加载器代码

var myRequest:URLRequest = new URLRequest("/someDir/someFile");
var myLoader:Loader = new Loader();

myLoader.load(myRequest);

myLoader.contentLoaderInfo.addEventListener(Event.OPEN,showPreloader);
myLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,showProgress);
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,showContent);

var myPreloader:Preloader = new Preloader();

function showPreloader(event:Event):void {
	addChild(myPreloader);
	myPreloader.x = stage.stageWidth/2;
	myPreloader.y = stage.stageHeight/2;
}

function showProgress(event:ProgressEvent):void {
	var percentLoaded:Number = event.bytesLoaded/event.bytesTotal;
	myPreloader.loading_txt.text = "Loading - " + Math.round(percentLoaded * 100) + "%";
	myPreloader.bar_mc.width = 198 * percentLoaded;
}

function showContent(event:Event):void {
	removeChild(myPreloader);
	addChild(myLoader);
}

ActionScript 3 AS3 getURL / navigateToURL(如何在AS3中创建可点击链接)

///////////////////////////////////////////////////
// Actual AS3 clickable-link code:
my_btn.addEventListener(MouseEvent.CLICK, myBtnClicked);

function myBtnClicked(e:MouseEvent):void {
    var url:String = "http://www.example.com/";
    var request:URLRequest = new URLRequest(url);
    try {
        navigateToURL(request, '_blank');
    } catch (e:Error) {
        trace("Error occurred!");
    }
}


///////////////////////////////////////////////////
// Lazy shorthand.  Reminder: navigateToURL SHOULD be in a try/catch
my_btn.addEventListener(MouseEvent.CLICK, myBtnClicked);

function myBtnClicked(e:MouseEvent):void {
    navigateToURL(new URLRequest("http://www.example.com/"));
}


///////////////////////////////////////////////////
// Implementation of Steven Sacks' AS3 getURL class
import net.stevensacks.utils.Web;

my_btn.addEventListener(MouseEvent.CLICK, myBtnClicked);

function myBtnClicked(e:MouseEvent):void {
    Web.getURL("http://www.example.com/");
}

ActionScript 3 AS3:正则表达助手

// REGEX for email validation
function validateEmail(email:String):Boolean {
        var emailExpression:RegExp = /^[a-z][\w.-]+@\w[\w.-]+\.[\w.-]*[a-z][a-z]$/i;
        return ! emailExpression.test(email);
}
// REGEX for phone validation
function validatePhone(phone:String):Boolean {
        var emailExpression:RegExp = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,3})|(\(?\d{2,3}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/i;
        return ! emailExpression.test(phone);
}

ActionScript 3 AS3卷滑块

var maxMove:Number =50;

var bounds:Rectangle = new Rectangle(this.volumeSlider.x, this.volumeSlider.y, -maxMove, 0);
var scrolling:Boolean = false;
 
function startScroll (e:Event):void {
   scrolling = true;
   this.volumeSlider.startDrag (false,bounds);
}
 
function stopScroll (e:Event):void {
   scrolling = false;
   this.volumeSlider.stopDrag ();
}
 
function enterHandler (e:Event):void {
   if (scrolling == true) {
      MovieClip(this.root).setVolume(1-((bounds.x-this.volumeSlider.x)/maxMove));
   }
}

function setVolume(vol:Number){
   var mod:SoundTransform = new SoundTransform();
   mod.volume = vol;
   mp3Channel.soundTransform = mod; //apply to yout mp3Channel
}

addEventListener (Event.ENTER_FRAME, enterHandler);

this.volumeSlider.addEventListener (MouseEvent.MOUSE_DOWN, startScroll);
stage.addEventListener (MouseEvent.MOUSE_UP, stopScroll);

ActionScript 3 AS3:将文件下载到桌面

private var request:URLRequest;  
private var localRef:FileReference;  
  
protected function buttonClick():void  
{  
    request = new URLRequest("soundbyte.mp3");  
    localRef = new FileReference();    
  
    try  
    {  
        // Prompt and downlod file  
        localRef.download( request );  
    }  
    catch (error:Error)  
    {  
        trace("Unable to download file.");  
    }  
}

ActionScript 3 将.jpeg下载到桌面上

/*

I DID NOT WRITE THIS, GO TO ACTIONSNIPPET.COM for this. IT IS A KICK ASS SITE.



*/


import com.adobe.images.JPGEncoder;
 
var jpgEncoder:JPGEncoder = new JPGEncoder(80);
var file:FileReference = new FileReference();
var id:int = 0;
 
var bit:BitmapData = new BitmapData(400, 400, false, 0x000000);
addChild(new Bitmap(bit));
 
stage.addEventListener(MouseEvent.CLICK, onClick);
function onClick(evt:MouseEvent):void{
    // draw some perlin noise
    bit.perlinNoise(200,200, 2, Math.random()*100, true, false,0, true);
    //bit.draw(someClip);
    //bit.draw(someVideo);
    id++;
    file.save(jpgEncoder.encode(bit), "image_" +id+".jpg");
}

ActionScript 3 AS3中的getURL

package {
	
	import flash.net.URLRequest;
	import flash.net.navigateToURL;
	
	/**
	 * getURL for ActionScript 3.0.  Similar 
	 * to getURL of ActionScript 2.0 in simplicity
	 * and ease. Errors are suppressed and traced
	 * to the output window.
	 */
	public function getURL(url:String, target:String = null){
		
		try {
			navigateToURL(new URLRequest(url), target);
		}catch(error:Error){
			trace("[getURL] "+error);
		}
		
	}
}