//----------------------------------------------- //路径只能表示到256级 this.createEmptyMovieClip("test", 0).loadMovie(this._url); trace(String(this).split(".").length - 1); //----------------------------------------------- //Object.watch是用来监听对象属性的变化 //输入文本框绑定了 t 变量 this.watch(t, callbackfunc, "Add-ons"); function callbackfunc(prop, oldval, newval, userData) { trace([prop, oldval, newval, userData]); return newval; } //----------------------------------------------- //中心靠上一点视觉上更合适,同时保证一下意外情况下 alert 出现在画面左上角 import mx.controls.Alert; Alert.okLabel = "确定"; Alert.prototype.center = function() { this.move((Stage.width-this.width)/2, (Stage.height-this.height*1.4)/2); }; var msgbox = Alert.show("code by samstudio!", "提示", Alert.OK); msgbox.center(); //黄金分割----------------------------------------------- //PHI = (Math.sqrt(5)+1)/2; //1.61803398874989 PHI = (Math.sqrt(5)-1)/2; //0.618033988749895 //----------------------------------------------- // 外部调用flash接口函数,注意变量的作用域 import flash.external.*; ExternalInterface.addCallback("RefreshLib", null, _libData.refreshDataItem) _libData.refreshDataItem = function():Void { _libData.createPage(_libData.curType) //调用成功 //this.createPage(this.curType) //调用失败 } //----------------------------------------------- //MovieClipLoader经典使用 var conListener:Object = new Object(); conListener.onLoadInit = function(target_mc:MovieClip) { // } var conLoader:MovieClipLoader = new MovieClipLoader(); conLoader.addListener(conListener); conLoader.loadClip(path, mc); //-------------------------------------------------------------------------- //判断一个变量是否存在,赋值给另外一个变量 var x1:Number; trace("x1:"+x1) //x1:undefined var x2:Number = x1 || 745; trace("x2:"+x2); //x2:745 //-------------------------------------------------------------------------- //字体描边 function strokeText(target:MovieClip, txt:String) { var color:String = "0xFFFFCC"; var bgcolor:String = "0x000000"; var txtFormat = new TextFormat(); txtFormat.size = 48; //最大值设定 127,再大也不会变化 txtFormat.font = "Arial"; txtFormat.bold = true; var tx:Number = 0; var ty:Number = 0; var ts:Number = 1; var td:Number = 0; target.createTextField("t_txt", td++, tx, ty-ts,1,1); target.createTextField("r_txt", td++, tx+ts, ty,1,1); target.createTextField("b_txt", td++, tx, ty+ts,1,1); target.createTextField("l_txt", td++, tx-ts, ty,1,1); target.createTextField("c_txt", td++, tx, ty,1,1); for (var i in target) { target[i].autoSize = "left"; target[i].text = txt; target[i].textColor = bgcolor; target[i].selectable = false; target[i].setTextFormat(txtFormat); } target["c_txt"].textColor = color; } //usage strokeText(this, "by samstudio. 2005.11.09"); //-------------------------------------------------------------------------- //ShareObject 实现flash数据存储 function store() { url_so.data.debug.str = name; } url_so = SharedObject.getLocal("debug"); if (url_so.data.debug == undefined) { debug = new Object(); debug.str = ""; url_so.data.debug = debug; name = url_so.data.debug.str; } else { name = url_so.data.debug.str; } save_btn.onRelease = store; //-------------------------------------------------------------------------- //MX2004组件:【CheckBox RadioButton】中的 TextField 实例引用 components.labelPath.wordWrap = true;\ //MX2004组件:【 Label】中的 TextField 实例引用 components.labelField.wordWrap = true; // ------------------------------------------------------------------------------------------------ // MX2004组件【scrollPane】内容动态设定 var pane:MovieClip = scrollPane.spContentHolder // 内容引用 // ------------------------------------------------------------------------------------------------ // MX2004组件【textArea】textField引用 textArea.label // 【鼠标滚轮模块】 ------------------------------------------------------------------------------------------------ // MX组件【scrollPane】scrollPane 为组件的实例名称 mouseListener = new Object(); mouseListener.onMouseWheel = function(delta,scrollTarget) { if(String(scrollTarget).indexOf("scrollPane")!=-1){ scrollPane.setScrollPosition(0,scrollPane.getScrollPosition().y-delta*10); } }; Mouse.addListener(mouseListener); // ------------------------------------------------------------------------------------------------ // MX组件【scrollPane】内容动态设定 scrollPane.boundingBox_mc._alpha = 0; // 背景块 scrollPane.setScrollContent("container"); // linkage为container var pane:MovieClip = scrollPane.tmp_mc; // 内容引用 var b:MovieClip = pane.attachMovie("b_btn","b",0); // 写内容 scrollPane.refreshPane(); // 刷新显示内容 //-------------------------------------------------------------------------- // 格式化获取文本内容高度.宽度 function getTextFieldHeight(str:String):Number { var txt_fmt:TextFormat = new TextFormat(); txt_fmt.font = "_sans"; var metrics:Object = txt_fmt.getTextExtent(str, 88); return metrics.textFieldHeight; } function getTextFieldWidth (str:String):Number { var txt_fmt:TextFormat= new TextFormat(); txt_fmt.font = "_sans"; var metrics:Object = txt_fmt.getTextExtent(str); return metrics.textFieldWidth; } //-------------------------------------------------------------------------- // 数字前填充字符,达到指定长度 function strPadding(str:String):String { var pad:String = ""; while (str.length+pad.length<5) { pad += "0"; } return pad+str; } // usage: trace(strPadding("17")); // trace: 00017 /*-------------------------------------------------- 声音减变效果 调用: volumeControl.rise(); 渐增到maxVolume volumeControl.fall(); 渐减到minVolume ---------------------------------------------------- */ this.createEmptyMovieClip("volumeControl", 0); volumeControl["depth"] = _level0; //要控制的声音所在的深度 volumeControl["maxVolume"] = 100; volumeControl["minVolume"] = 1; volumeControl["step"] = 5; //渐变幅度 volumeControl["vcSound"] = new Sound(volumeControl["depth"]); volumeControl["volume"] = volumeControl["vcSound"].getVolume(); volumeControl["rise"] = function(){ ctrlFun(1); } volumeControl["fall"] = function(){ ctrlFun(-1);} function ctrlFun(sign:Number):Void { // 1是渐增到maxVolume; -1是渐减到minVolume volumeControl.onEnterFrame = function() { this["volume"] += sign*this["step"]; this["vcSound"].setVolume(this["volume"]); if (sign>0 ? this["volume"]>this["maxVolume"] : this["volume"]0 ? this["maxVolume"] : this["minVolume"]; this["vcSound"].setVolume(this["volume"]); delete this.onEnterFrame; } }; } //------------------------------------------------------------------------------------------------ //parseInt(expression [, radix]); myNumber.toString(radix); //中文是双字节,但是里面每个字节的Ascii码 //第一个字节 0x81-0xfe //第二个字节 0x40-0xfe var str:String = "侨乡浪子"; var strArr:Array = new Array(); for (var i = 0; i2) break;} } if (n == 2){ p_array.push(i);} } trace(p_array.join(".")); trace("length: "+p_array.length); /* 2.3.5.7.11.13.17.19.23.29.31.37.41.43.47.53.59.61.67.71.73.79.83.89.97 length: 25 */ //------------------------------------------------------------------------------- //双击检测 MouseDoubleClick = function () {}; MouseDoubleClick.prototype.clickTime = 1; // 单击次数 MouseDoubleClick.prototype.startTime = 0; // 单击开始时间记录 MouseDoubleClick.prototype.endTime = 0; // 单击结束时间记录 MouseDoubleClick.prototype.interval = 500; // 双击有效时间,单位:ms MouseDoubleClick.prototype.exec = function(target,func){ var _self = this target.onRelease = function() { if (_self.clickTime%2 == 1) { _self.startTime = getTimer(); } else if (_self.clickTime%2 == 0) { _self.endTime = getTimer(); if (_self.endTime-_self.startTime<=_self.interval) { func() } else { _self.startTime = _self.endTime; _self.clickTime++; } } _self.clickTime++; } } var mdc1 = new MouseDoubleClick(); mdc1.exec(mm,function(){trace(mm)}) var mdc2 = new MouseDoubleClick(); mdc2.exec(gg,function(){trace(gg)}) //------------------------------------------------------------------------------- //简单ascii偏移加密,字符数量尽量最小 //参数opt: true 为加密,false 为解密 function encryptAscii(str:String, opt:Boolean):String { var strArr:Array = str.split(""); for (var i in strArr) { strArr[i] = String.fromCharCode( strArr[i].charCodeAt(0)+(opt ? 77 : -77) ); } return strArr.join(""); } //ueage var ch:String = "written by samstudio.2005.12.04"; trace(ch); ch = encryptAscii(ch, true); trace(ch); ch = encryptAscii(ch, false); trace(ch); /* trace written by samstudio.2005.12.04 ???áá2?mˉ?mà?oàá?±??{}}?{~{}? written by samstudio.2005.12.04 */ //------------------------------------------------------------------------------- //构建二维数组 var a:Array = new Array("a1", "a2", "a3"); var b:Array = new Array("b1", "b2", "b3"); var c:Array = new Array("c1", "c2", "c3"); var abc:Array = new Array(a, b, c); trace(abc); //--------------------------------------------- //多张图片循环渐变,下面的数值4是图片总数,可以用picPre._totalframes代替 //ut action in first frame //Alpha: 100% 0% //Tween: @==== picPre ====@ //Alpha: 0% 100% //Tween: @==== picNext ====@---------------- i<4 ? i++ : i=1; i-1>0 ? picPre.gotoAndStop(i-1) : picPre.gotoAndStop(4); picNext.gotoAndStop(i); //--------------------------------------------- //动态给对象生成内置变量保存数值,用于调用对象父级变量 for (var i = 0; i<7; i++) { this["m"+i].k = i; this["m"+i].onRelease = function() { getURL(_parent.arrUrl[this.k]); }; }