/cutload/CutLoad/cookies/Fun.as
http://cutload.googlecode.com/ · ActionScript · 612 lines · 368 code · 7 blank · 237 comment · 49 complexity · 978e89a2fb322cd4616abf366b255d70 MD5 · raw file
- package CutLoad.cookies
- {
-
- import CutLoad.CutLoad;
-
- import flash.display.BitmapData;
- import flash.display.DisplayObject;
- import flash.display.Graphics;
- import flash.display.LoaderInfo;
- import flash.display.MovieClip;
- import flash.display.Sprite;
- import flash.display.StageDisplayState;
- import flash.events.MouseEvent;
- import flash.external.ExternalInterface;
- import flash.geom.Point;
- import flash.geom.Rectangle;
- import flash.net.URLRequest;
- import flash.net.navigateToURL;
- import flash.system.ApplicationDomain;
-
- /**
- * ????
- * @author smallerbird mail:smallerbird@gmail.com site:www.mkigm.com QQ?:49983196
- *
- */
- public class Fun
- {
- /**
- * Rectangle?? containsPoint????????????,????????
- * @param rect Rectangle??
- * @param p ?????
- * @return
- *
- */
- public static function rectContainsPoint(rect:Rectangle,p:Point):Boolean{
- if((p.x>=rect.x&&p.x<=rect.x+rect.width)&&(p.y>=rect.y&&p.y<=rect.y+rect.height)){
- return true;
- }
- return false
- }
- /**
- * ? Sprite??????????
- * @param sp
- * @param funClick ?? function(e:MouseEvent):void
- * @param buttonMode
- *
- */
- public static function addMouseClickForSprite(sp:Sprite,funClick:Function,buttonMode:Boolean=true):void{
- sp.mouseChildren=false;
- sp.buttonMode=true;
- sp.addEventListener(MouseEvent.CLICK,funClick);
- }
- /**
- * ?? Rectangle?? ???
- * @param rect
- * @return
- *
- */
- public static function rectCenterPoint(rect:Rectangle):Point{
- return new Point(rect.x+rect.width/2,rect.y+rect.height/2);
- }
- /**
- * ?? Rectangle??????
- * @param rect Point????
- * @return
- *
- */
- public static function rect4Point(rect:Rectangle):Array{
- var arr:Array=new Array();
- arr.push(new Point(rect.x,rect.y));
- arr.push(new Point(rect.x+rect.width,rect.y));
- arr.push(new Point(rect.x+rect.width,rect.y+rect.height));
- arr.push(new Point(rect.x,rect.y+rect.height));
- return arr;
- }
- /**
- * ?????????? ??????????
- * @param arr
- * @return
- *
- */
- public static function clrArrayRepeat(arr:Array):Array{
- var arrReturn:Array=new Array();
- for(var i:Number=0;i<arr.length;i++){
- var isAdd:Boolean=false;
- for(var j:Number=0;j<arrReturn.length;j++){
- if(arr[i]==arrReturn[j]){
- isAdd=true;
- break;
- }
- }
- if(!isAdd) arrReturn.push(arr[i])
- }
- return arrReturn;
- }
- /**
- * ????js
- * @param js??
- * @param arguments
- * @return
- *
- */
- public static function jscall(functionName:String):String{
- functionName="javascript:"+functionName;
- Fun.goToUrl(functionName,"_self");
- return functionName
- }
- /**
- * ????????js??
- * @param functionName
- * @param closure
- *
- */
- public static function jscallback(functionName:String, closure:Function):void
- {
- ExternalInterface.addCallback(functionName,closure);
- }
- /**
- * ???????????????????<p>???http://localhost/testswf/test_url.swf ??==> http://localhost/testswf/ </p>
- * <p> file:///C|/Documents%20and%20Settings/Administrator/??/test%5Furl.swf ??==>file:///C|/Documents%20and%20Settings/Administrator/??/</p>
- * @param strPath
- * @return
- *
- */
- public static function getFilePathStr(strPath:String):String{
- var str1:String="http://";
- var indexTem:Number;
- var strStr:String=".swf";
- if (strPath.indexOf(str1)==0) {
- indexTem=strPath.lastIndexOf(strStr);
- } else {
- indexTem=strPath.lastIndexOf(strStr);
- }
- if (indexTem==-1) {
- return "";
- }
- strPath=strPath.substr(0,indexTem) + strStr;
- //
- strStr="/";
- if (strPath.indexOf(str1)==0) {
- indexTem=strPath.lastIndexOf(strStr);
- } else {
- indexTem=strPath.lastIndexOf(strStr);
- }
- if (indexTem==-1) {
- return "";
- }
- strPath=strPath.substr(0,indexTem) + strStr;
- return strPath;
- }
-
- /**
- * ??????
- * @param url
- * @param strTarget
- *
- */
- public static function goToUrl(url:String,strTarget:String="_blank"):void{
- if(url=="") return;
- navigateToURL(new URLRequest(url),strTarget);
- }
- /**
- * ???Object?????????????????
- * @param fromObj ???????
- * @param toObj ???????
- *
- */
- public static function appendObj(fromObj:Object,toObj:Object):void{
- //trace("appendObj-------------------")
- for(var str:String in fromObj){
- //trace(str+":"+fromObj[str]);
- toObj[str]=fromObj[str]
- }
- /*trace("??????????")
- for(var str1:String in toObj){
- trace(str1+":"+toObj[str1]);
- }*/
- }
- /**
- * ?????
- * @param str ??????
- * @param seachWord ???????
- * @param repWord ?????
- *
- */
- public static function replace(str:String,seachWord:String,repWord:String):String{
- var myPattern:RegExp =new RegExp(seachWord,"g");
- return (str.replace(myPattern,repWord));
- }
- //??---------------------
- /**
- * ?????????????????
- * @param arrObj ?????
- * @param startx ????x
- * @param starty ????y
- * @param space ??
- * @param maxLen ?????????????????????.
- * @return ????
- */
- public static function setStartList(arrObj:Array,startx:Number,starty:Number,space:Number,maxLen:Number=0):Number{
- var numLen:Number=0;
- for(var i:Number=0;i<arrObj.length;i++){
- var objTem:Object=arrObj[i]
- if(i==0){
- objTem=arrObj[i]
- objTem.x=startx;
- objTem.y=starty;
- numLen+=objTem.getShowWidth()+space;
- }else{
- var objTem1:Object=arrObj[i-1];
- objTem.x=objTem1.getXYRightUp().x+space;
- objTem.y=starty;
- numLen+=objTem.getShowWidth();
- }
- }
- //?????0???
- if(maxLen!=0){
- var xx:Number=getCenterXY(maxLen,numLen);
- var temMove:Number=Math.abs(startx-xx);
- MoveSomeXY(arrObj,temMove,0);
- }
- return numLen
- }
- //
- /**
- * ?????x?y??
- * @param startxy ????????x?y
- * @param maxWH ???????
- * @param len ???????????
- * @return ?????x???y
- *
- */
- public static function getCenterXY(maxWH:Number,len:Number):Number{
- var w2:Number=0;
- if(maxWH>len) w2=(maxWH-len)/2;
- return w2;
-
- }
- /**
- * ???????????????????????????:mc1,mc2,mc3.. ??????????????[mc1,mc2,mc3..] ?????????
- * ??????????????
- * @param parent ?????????
- * @param propertiesName ???????????????mc1,mc2,mc3 ????????:mc
- * @param end ?????????,???mc1,mc2,mc3 ??????????3
- * @param start ?????????????0, ???mc1,mc2,mc3 ??????????1
- * @return
- *
- */
- public static function getThisArry(parent:Object,propertiesName:String,end:Number,start:Number=0):Array{
- var arr:Array=new Array();
- for(var i:Number=start;i<=end;i++){
- arr.push(parent[propertiesName+i])
- }
- return arr;
- }
- /**
- * ????DisplayObject?????????????
- * @param obj ?????
- * @param x x??
- * @param y y??
- * @param parent ??
- *
- */
- public static function DisplayObjectSetXY(obj:DisplayObject,x:Number,y:Number,parent:Sprite=null):void{
- obj.x=x;
- obj.y=y;
- if(parent!=null) parent.addChild(obj);
- }
- /**
- * ??DisplayObject
- * @param obj
- *
- */
- public static function DisplayObjectKillMe(obj:DisplayObject):void{
- if(obj.parent!=null){
- obj.parent.removeChild(obj);
- }
- }
- /**
- * ???????x?y????????
- * @param arrObj ????
- * @param xyOffset x???????
- * @param xyOffset y???????
- *
- */
- public static function MoveSomeXY(arrObj:Array,xOffset:Number=0,yOffset:Number=0):void{
- var w:Number=0,h:Number=0
- for(var i:Number=0;i<arrObj.length;i++){
- if(i!=0){
- if(xOffset!=0){
- w=arrObj[i-1].x+arrObj[i-1].width;
- }else{
- w=0
- }
- if(yOffset!=0){
- h=arrObj[i-1].y+arrObj[i-1].height;
- }else{
- h=0;
- }
- }
- arrObj[i].x+=xOffset+w
- arrObj[i].y+=yOffset+h
- }
- }
- /**
- * ???????????? ,?????????
- * @param p_name
- * @return
- *
- */
- public static function getStrClassObject(p_name : String):Object
- {
- try
- {
- var myclass:Class=ApplicationDomain.currentDomain.getDefinition(p_name) as Class;
- return new myclass();
- }
- catch (p_e : ReferenceError)
- {
- throw new Error("?? " + p_name + " ???");
- return null;
- }
- return null;
- }
- /**
- * ????ApplicationDomain?????
- *
- * @param p_name ???????????????,? net.eidiot.net.SWFLoader
- * @param p_info ??swf?LoadInfo???????????
- * @return ??????????????null
- */
- public static function getClass(p_name : String, p_info:LoaderInfo = null):Class
- {
- try
- {
- if (p_info == null)
- return ApplicationDomain.currentDomain.getDefinition(p_name) as Class;
- return p_info.applicationDomain.getDefinition(p_name) as Class;
- }
- catch (p_e : ReferenceError)
- {
- throw new Error("?? " + p_name + " ???");
- return null;
- }
- return null;
- }
- /**
- * ??????????????
- * @param tartget ??
- * @return ?????
- *
- */
- public static function setTopDepath(tartget:DisplayObject):Number{
- if(tartget==null) return -1;
- if(tartget.parent==null) throw new Error("??????");
- var paretn:Sprite=tartget.parent as Sprite;
- var sp:Sprite=new Sprite();
- paretn.addChild(sp);
- var index:Number=paretn.getChildIndex(sp);
- paretn.swapChildren(sp,tartget);
- paretn.removeChild(sp);
- return index;
- }
- /**
- * ??Sprite???????
- * @param sp
- *
- */
- public static function clearAllChild(sp:Sprite):void{
- for(var i:Number=0;i<sp.numChildren;i++){
- var spTem:DisplayObject=sp.getChildAt(i);
- sp.removeChild(spTem);
- spTem=null;
- }
- CutLoad.CutLoad.OptimizeMemory();
- }
- /**
- * ????????????????: ??,?,?
- * @param t ??
- * @return ???? ["??","?","?"]
- *
- */
- /**
- * ????????????????: ??,?,?
- * @param t ??
- * @param isSec ?????? ? true ?? false
- * @return
- *
- */
- public static function getTimeFormat(t:Number,isSec:Boolean=true):Array{
- var arrReturn:Array=new Array();
- var sec:Number=t;
- if(!isSec) sec=Math.floor(t/1000);
- var min:Number=0;
- var hour:Number=0;
- if(sec>60){
- hour=Math.floor(sec/3600);
- sec=sec-hour*3600;
- min=Math.floor(sec/60);
- sec=sec-min*60;
- }
- var strSec:String=sec>9?String(sec):"0"+sec;
- var strMin:String=min>9?String(min):"0"+min;
- var strHour:String=min>9?String(min):"0"+min;
-
- arrReturn.push(strHour);
- arrReturn.push(strMin);
- arrReturn.push(strSec);
- return arrReturn;
- }
- /**
- * ??????????
- * @param char1 ???1 ??:-
- * @param char2 ???2 ??:
- * @param char3 ???3 ??: :
- * @return ????:?-?-? ??:?:?
- *
- */
- public static function getNowDateTimeStr(char1:String="-",char2:String=" ",char3:String=":"):String{
- var date:Date=new Date();
- return date.getFullYear()+char1+(date.getMonth()+1)+char1+date.getDate()+char2+date.getHours()+char3+date.getMinutes()+char3+date.getSeconds();
- }
- /**
- * ???????????
- * @param char1 ???1 ??:-
- * @return
- *
- */
- public static function getNowDateStr(char1:String="-"):String{
- var date:Date=new Date();
- return date.getFullYear()+char1+(date.getMonth()+1)+char1+date.getDate();
- }
- /**
- * ????????
- * @param isZero ????????0???
- * @return [??,?,?]
- *
- */
- public static function getNowTimeArr(isZero:Boolean=false):Array{
- var arrReturn:Array=new Array();
- var now:Date=new Date();
- var hour:Number=now.getHours();
- var min:Number=now.getMinutes();
- var sec:Number=now.getSeconds();
- var strZero:String=isZero==true?"0":"";
- arrReturn.push(hour>9?String(hour):strZero+hour);
- arrReturn.push(min>9?String(min):strZero+min);
- arrReturn.push(sec>9?String(sec):strZero+sec);
- return arrReturn;
- }
- /**
- * ???????:
- * @param isZero ????????0???
- * @return ???:??:?:?
- *
- */
- public static function getNowTimeStr(isZero:Boolean=false):String{
- var arr:Array=getNowTimeArr(isZero);
- return arr[0]+":"+arr[1]+":"+arr[2];
- }
- /**
- * ??PI?
- * @param t ????????????????PI?,????Math.PI
- * @return
- *
- */
- public static function getPI(t:Number=0):Number{
- switch(t){
- case 1:
- return 3.1;
- break;
- case 2:
- return 3.14
- break;
- case 3:
- return 3.141
- break;
- case 4:
- return 3.1415
- break;
- case 5:
- return 3.14159
- break;
- case 6:
- return 3.141592
- break;
- case 7:
- return 3.1415926;
- break;
- default:
- return Math.PI;
- break;
- }
- }
-
- /**
- * ?????
- * @param angle ??
- * @param isPI PI???????
- * @return
- *
- */
- public static function angleToRadian(angle:Number,isPI:Boolean=true):Number{
- var pi:Number=isPI?getPI():getPI(4)
- return angle*pi/180
- }
- /**
- * ?????
- * @param radian ??
- * @param isPI PI???????
- * @return
- *
- */
- public static function radianToAngle(radian:Number,isPI:Boolean=true):Number{
- var pi:Number=isPI?getPI():getPI(4)
- return radian*180/pi
- }
- /**
- * ??????? ??:mkigm.txt ???txt ???????????
- * @param fileName ???
- * @return
- *
- */
- public static function getFileTypeName(fileName:String):String{
- fileName=fileName.toLocaleLowerCase();
- var arr:Array=fileName.split(".");
- return arr[arr.length-1];
- }
- /**
- * ??????????????????????
- * @param arr
- * @param isClockwise true:??? false???
- * @return
- *
- */
- public static function roation2Array(arr:Array,isClockwise:Boolean=true):Array{
- var arrRoation:Array=new Array();
- if(isClockwise){
- for(var i:Number=0;i<arr[0].length;i++){
- var arrTem:Array=new Array();
- for(var j:Number=arr.length-1;j>=0;j--){
- arrTem.push(arr[j][i]);
- }
- arrRoation.push(arrTem);
- }
- }else{
- for(var k:Number=arr[0].length-1;k>=0;k--){
- var arrTem1:Array=new Array();
- for(var l:Number=0;l<arr.length;l++){
- arrTem1.push(arr[l][k]);
- }
- arrRoation.push(arrTem1);
- }
- }
- return arrRoation;
- }
- /**
- * ???????
- * <p>??:var obj:Object = {a:1,b:2,c:"abcdef",d:"adasdfasdf",eeee:[1,2,3,"4",{id:1,name:"??"}]};<br>varDescribe(obj);<br>?????{a:1,b:2,c:"abcdef",d:"adasdfasdf",eeee:[1,2,3,"4",{id:1,name:"??"}]}</p>
- * @param obj ??????
- * @param isTrace ????trace????????true
- * @return
- *
- */
- public static function varDescribe(obj:*,isTrace:Boolean=true):String
- {
- var str:String = "";
- if(obj is String){
- str="\""+obj+"\"";
- }else if(obj is Array){
- for(var j:Number=0;j<obj.length;j++){
- if (str == "")
- {
- str = "[";
- }
- else
- {
- str += ",";
- }
- str += varDescribe(obj[j],false);
- }
- str+="]";
- }else if(obj is Boolean){
- if(obj){
- str="true";
- }else{
- str="false";
- }
- }else if(obj==null){
- str="Null"
- }else if(obj is Number||obj is int||obj is uint){
- str=obj;
- }else{
- for (var i:String in obj)
- {
- if (str == "")
- {
- str = "{";
- }
- else
- {
- str += ",";
- }
- str += i + ":" + varDescribe(obj[i],false);
- }
- str+="}";
- }
- if(isTrace) trace(str);
- return str;
- }
- }
- }