标题: 随机输出1到100而不从复的语句
冷剑无痕
元帅
Rank: 1



UID 43494
精华 0
积分 20403
帖子 17096
威望 0
金币 10065
热心 8
阅读权限 100
注册 2007-2-14
状态 离线
随机输出1到100而不从复的语句

随机输出1到100而不从复的语句:   以下是引用片段:
  seq=newArray(100);
  pArray=newArray(100);
  functionmakeRandom(){
  for(i=1;i<=100;i++){
  seq="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=mRandom();
  trace(pArray);
  }
  }
  stop();
  偷梁换柱
  我们可以用这样一个技巧,在某些函数外部加一些东西而不需要了解函数的代码~~
  比如,假如当前有很多mc 覆盖了onEnterFrame函数,我们可以这样了解那些在_root下的mc 的onEnterFrame函
  数是以什么顺序执行的:
  代码:
  以下是引用片段:
  for(variin_root){
  if(_root.onEnterFrame!=null){//如果这个Object实现了onEnterFrame接口的话
  _root.oldFunc=_root.onEnterFrame;//首先保存原来的onEnterFrame的句柄
  _root.onEnterFrame=function(){//然后开始替换了~~加上一层壳~~
  trace(this+":onEnterFrameCalled.");
  this.oldFunc();//我们用保留的句柄调用原来的函数
  trace(this+":onEnterFrameReturned.");
  }
  }
  }
  如果要取消这些附加的操作:
  代码:
  以下是引用片段:
  for(variin_root){
  if(_root.oldFunc!=null){//如果发现改过得痕迹
  _root.onEnterFrame=_root.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);
  }

顶部
[广告] 免费域名(Free Subdomain) 免费空间(Free hosting) PR查询(Google Pagerank)



当前时区 GMT+8, 现在时间是 2008-7-26 07:23
信产部ICP备案:京ICP备05066424号 北京市公安局网监备案:1101050648号

Powered by Discuz! 5.5.0
清除 Cookies - 联系我们 - 网友俱乐部 - Archiver - WAP