您现在的位置: 像素吧 >> 设计教程 >> Flash教程 >> 正文

另类:查看图片效果

来源:网络 日期:2008-5-12 23:35:21 作者:梦自在 查看:
"另类:查看图片效果"这篇Flash教程如果帮助了您,请记得分享给您身边的朋友,如果您有比"另类:查看图片效果"更好的教程请发布共享,帮助别人快乐自己!
  效果:第一次按下移动就画个正方形;第二次按下移动就开始查除正方形;第三次按下移动就拖动正方形;第四次按下移动就开始缩放正方形;第五次按下移动就重新开始。没碰到container第二次按下(时间间隔小于100毫秒),也重新开始。大家看到自己的美女偶像了顶下啊...写了这么多解释累啊...可以测试鼠标的灵敏度,希望大家点评...谢谢!!!先看一个截图:

代码如下:
/*作者:梦自在*/
var count_num:Number = 1;
var depth_num1:Number = 0;
var depth_num2:Number = 1.5;
/*画线*/
var isStates:Boolean=false;
/*创建遮照容器*/
var drawing:Boolean = true;
/*经过的时间*/
var time_num:Number = 0;
/*第几次按*/
var press_num:Number = 0;
var container_width:Number;
var container_height:Number;
onEnterFrame = function () {
/*drawing为真就画线*/
if (drawing) {
  this.createEmptyMovieClip("container", depth_num1);
  this.createEmptyMovieClip("mask", depth_num2);
  pic_mc.setMask(container);
  drawing = false;
  depth_num1 += 1;
  depth_num2 += 1;
}
};
var mouseListener:Object = new Object();
mouseListener.onMouseDown = function() {
/*第一次按下的时候*/
if (press_num == 0) {
  isStates = true;
  x0 = _root._xmouse;
  y0 = _root._ymouse;
  time_num = getTimer();
  /*没碰到container按下*/
  if (!container.hitTest(_root._xmouse, _root._ymouse)) {
   press_num = 1;
  }
}
if (press_num == 1) {
  /*没碰到container第二次按下*/
  if (!container.hitTest(_root._xmouse, _root._ymouse)) {
   /*时间间隔小于100毫秒*/
   if (getTimer()-time_num<100) {
    count_num = 1;
    press_num = 0;
    /*如果执行count_num == 2步后再双击重来就要删去上面遮照的东西*/
    for (var i in mask) {
     mask[i].removeMovieClip();
    }
   } else {
    /*时间间隔大于100毫秒就重新开始计算双击的间隔*/
    press_num = 0;
   }
  }
}
};
mouseListener.onMouseMove = function() {
if (isStates) {
  /*第一次按下移动就画个正方形*/
  if (count_num == 1) {
   var i = containner.getNextHighestDepth();
   container.createEmptyMovieClip("mc"+i, i);
   with (container["mc"+i]) {
    lineStyle(2, 0x000000, 100);
    beginFill(0x000000, 100);
    moveTo(x0, y0);
    x1 = _root._xmouse;
    y1 = _root._ymouse;
    lineTo(x1, y0);
    lineTo(x1, y1);
    lineTo(x0, y1);
    lineTo(x0, y0);
    endFill();
   }
   container_width = container["mc"+i]._width;
   container_height = container["mc"+i]._height;
  }
  /*第二次按下移动就开始查除正方形*/
  if (count_num == 2) {
   var mask_depth:Number = mask.getNextHighestDepth();
   mask.attachMovie("ball", "ball"+mask_depth, mask_depth);
   mask["ball"+mask_depth]._x = _root._xmouse;
   mask["ball"+mask_depth]._y = _root._ymouse;
  }
  /*第三次按下移动就拖动正方形*/
  if (count_num == 3) {
   container._x = mask._x=_root._xmouse-container._height;
   container._y = mask._y=_root._ymouse-container._width;
  }
  /*第四次按下移动就开始缩放正方形*/
  if (count_num == 4) {
   mask._xscale = container._xscale=100*(_root._xmouse-container._x)/container_width;
   mask._yscale = container._yscale=100*(_root._ymouse-container._y)/container_height;
  }
}
};
mouseListener.onMouseUp = function() {
isStates = false;
count_num += 1;
/*到第5次后就重新开始画*/
if (count_num == 5) {
  count_num = 0;
  drawing = true;
}
};
Mouse.addListener(mouseListener);
附件下载: 另类观看效果.rar(swf、fla)

进入论坛和作者讨论学习:http://space.flash8.net/bbs/thread-348257-1-1.html

相关评论:

发表评论

  • 昵 称:
  • 内 容:
  •  
  • 虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号!