2008/08/10 | AS3逐行显示的遮罩效果
类别(Flash学习笔记) | 评论(2) | 阅读(1431) | 发表于 00:33

代码如下:

var mask_sp:MovieClip = new MovieClip();
addChild( mask_sp);
bitmap.cacheAsBitmap = true;
mask_sp.cacheAsBitmap = true;

bitmap.mask = mask_sp;
var mar:Array = new Array();
for (var i = 0; i< 25; i++) {
 mar.push( new Mask());
 mar[i].y = i*20;
 mar[i].x = 0;
 mask_sp.addChild( mar[i]);
}
addEventListener(Event.ENTER_FRAME, onHandler );
var show = 0;
function onHandler(evt:Event) {
 if ( show < 25) {
  if ((mar[show].x< 400)) {
   mar[show].x += 20;
  } else {
   show ++;
  }
 }
}
addEventListener( MouseEvent.CLICK,onClick);
function onClick( evt:MouseEvent){
 for(var i = 0;i<25;i++){
  mar[i].x = 0;  
 }
 show = 0;
}

 压缩包下载

(提示:注册点放在右侧,可以直接通过指定 x 属性达到移动的目的,省去换算位置的步骤。)

库中元件制做的时候需要有点技巧,大家自己打开看吧。
6

评论Comments