//a_v是个可以输入的文本框,用来输入加速度,即可以自定义速度,方便调试 a_v.onChanged=function(){ if(a_v.text==""||Number(a_v.text)>1000||Number(a_v.text)<0){ //defaultvalue a_v.text=5; }else{ _global.a=Number(a_v.text)?Number(a_v.text):5; //trace(_global.a); } }; 随机输出1到100而不从复的语句: 以下是引用片段: seq=newArray(100); pArray=newArray(100); functionmakeRandom(){ for(i=1;i<=100;i++){ seq[i]="A"; } } functionmRandom(){ while(true){ n=int(random(100))+1; if(seq[n]=="A"){ seq[n]="0"; break; } } return(n); } functionrArray(){ for(i=1;i<=100;i++){ pArray[i]=mRandom(); trace(pArray[i]); } } stop(); 偷梁换柱 我们可以用这样一个技巧,在某些函数外部加一些东西而不需要了解函数的代码~~ 比如,假如当前有很多mc 覆盖了onEnterFrame函数,我们可以这样了解那些在_root下的mc 的onEnterFrame函 数是以什么顺序执行的: 代码: 以下是引用片段: for(variin_root){ if(_root[i].onEnterFrame!=null){//如果这个Object实现了onEnterFrame接口的话 _root[i].oldFunc=_root[i].onEnterFrame;//首先保存原来的onEnterFrame的句柄 _root[i].onEnterFrame=function(){//然后开始替换了~~加上一层壳~~ trace(this+":onEnterFrameCalled."); this.oldFunc();//我们用保留的句柄调用原来的函数 trace(this+":onEnterFrameReturned."); } } } 如果要取消这些附加的操作: 代码: 以下是引用片段: for(variin_root){ if(_root[i].oldFunc!=null){//如果发现改过得痕迹 _root[i].onEnterFrame=_root[i].oldFunc; |