随机输出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; delete(oldFunc); } } 呵呵这些操作的关键在于 Flash里面的引用机制: 所有函数名都是引用,而函数本身是浮在数据的海洋里面的。如果没有任何变量引用他,他就会被回收。如果有, 他就不会被回收。所以有着样一个有趣的事情:delete函数不会删掉任何东西,除了要求删掉的那个名字:(和java 机制相似,而和C不同) 以下是引用片段: a=function(){trace("Functionacalled");} b=a; delete(a);//除了a这个名字被删掉以外,没有任何事情发生 b(); 函数通过this得到其调用者的实例。 MovieClipPlus.as 定义了一些简单的MC操作 //画点:由于Flash没有画点,那我们就画短线 以下是引用片段: MovieClip.prototype.point=OxMovieClipPoint; functionOxMovieClipPoint(x,y){ this.moveTo(x,y); this.lineTo(x+1,y); } //画矩形,左上角x1,y1 右下角x2,y2, 颜色rgb, 不透明度alpha 以下是引用片段: MovieClip.prototype.rect=OxMovieClipRect; functionOxMovieClipRect(x1,y1,x2,y2,rgb,alpha){ this.beginFill(rgb,alpha); this.moveTo(x1,y1); this.lineTo(x1,y2); this.lineTo(x2,y2); this.lineTo(x2,y1); this.lineTo(x1,y1); this.endFill(); } //画圆:这么bt的冬冬当然不是我写的,作者素JodyKeating //圆心x,y,半径r MovieClip.prototype.circle=OxMovieClipCircle; functionOxMovieClipCircle(x,y,r){ vara=r*0.414213562; varb=r*0.707106781; this.moveTo(x+r,y); this.curveTo(x+r,y-a,x+b,y-b); this.curveTo(x+a,y-r,x,y-r); this.curveTo(x-a,y-r,x-b,y-b); this.curveTo(x-r,y-a,x-r,y); this.curveTo(x-r,y+a,x-b,y+b); this.curveTo(x-a,y+r,x,y+r); this.curveTo(x+a,y+r,x+b,y+b); this.curveTo(x+r,y+a,x+r,y); }
|
正在阅读:Flash特效制作常用的源代码大放送Flash特效制作常用的源代码大放送
2007-04-03 10:16
出处:PConline
责任编辑:chenzhenjia
键盘也能翻页,试试“← →”键
本文导航 | ||
|