Flash制作一个模仿Acdsee浏览图片的效果

2008-04-02 10:47:37来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  任何as代码如下:

  
//---------------------------------------------

  Stage.showMenu = false;

  Stage.scaleMode = "noScale";

  fscommand(allowscale, true);

  mapScale = map_mc._xscale;

  stageL = 0;

  stageT = 0;

  stageR = map_mc._width;

  stageB = map_mc._height;

  stageW = mask_mc._width;

  stageH = mask_mc._height;

  maxZoom = 800;

  minZoom = 50;

  initMapZoom();

  actionLabel = "放大";

  _root.onLoad = function() {

  var btnName = new Array();

  btnName = Array("放大", "缩小", "全图", "加大", "减小", "移动");

  btnNameLen = btnName.length;

  for (i=1; i<btnNameLen; i ) {

  ctrlbtn0.duplicateMovieClip("ctrlbtn" i, i);

  }

  for (i=0; i<btnNameLen; i ) {

  ctrlbtns = eval("ctrlbtn" i);

  ctrlbtns.btn_name.text = btnName[i];

  ctrlbtns._x = i*(ctrlbtn0._width 5) 10;

  ctrlbtns._y = ctrlbtn0._y;

  ctrlbtns.vars = btnName[i];

  ctrlbtns.onRollOver = function() {

  this._alpha = 60;

  };

  ctrlbtns.onRollOut = function() {

  this._alpha = 100;

  };

  ctrlbtns.onRelease = function() {

  actionLabel = this.vars;

  if (this.vars == "全图") {

  initMapZoom();

  }

  if (this.vars == "加大") {

  var mapx = ((stageL stageR)/2-map_mc._x)/mapScale;

  var mapy = ((stageT stageB)/2-map_mc._y)/mapScale;

  if (mapScale*1.2<maxZoom) {

  mapZoom(mapScale*1.2, mapx, mapy);

  } else {

  mapZoom(maxZoom, mapx, mapy);

  }

  }

  if (this.vars == "减小") {

  var mapx = ((stageL stageR)/2-map_mc._x)/mapScale;

  var mapy = ((stageT stageB)/2-map_mc._y)/mapScale;

  if (mapScale*.8>minZoom) {

  mapZoom(mapScale*.8, mapx, mapy);

  } else {

  mapZoom(minZoom, mapx, mapy);

  }

  }

  };

  }

  };

  function initMapZoom() {

  var msW = map_mc._width/stageW;

  var msH = map_mc._height/stageH;

  var mapBi = (msW<msH) ? msW : msH;

  map_mc._x = stageL;

  map_mc._y = stageT;

  mapScale = mapScale/mapBi;

  map_mc._xscale = mapScale;

  map_mc._yscale = mapScale;

  }

  var mouseObj = new Object();

  Mouse.addListener(mouseObj);

  mouseObj.onMouseDown = function() {

  if (_xmouse>stageL && _xmouse<stageR && _ymouse>stageT && _ymouse<stageB) {

  if (actionLabel == "放大" || actionLabel == "缩小") {

  box_x = _xmouse;

  box_y = _ymouse;

  createEmptyMovieClip("box_mc", btnNameLen 1);

  with (box_mc) {

  lineStyle(1, 0xff0000, 80);

  moveTo(0, 0);

  lineTo(0, 1000);

  lineTo(1000, 1000);

  lineTo(1000, 0);

  lineTo(0, 0);

  _width = 1;

  _height = 1;

  }

  mapW = map_mc._width;

  mapH = map_mc._height;

  box_mc.onEnterFrame = function() {

  this._width = Math.abs(_xmouse-box_x);

  this._height = Math.abs(_ymouse-box_y);

  this._x = _xmouse<box_x ? _xmouse : box_x;

  this._y = _ymouse<box_y ? _ymouse : box_y;

  };

  }

  if (actionLabel == "移动") {

  left = stageR-map_mc._width;

  top = stageB-map_mc._height;

  right = 0;

  bottom = 0;

  map_mc.startDrag(false, left, top, right, bottom);

  }

  }

  };

  mouseObj.onMouseUp = function() {

  if (box_mc != undefined) {

  boxW = box_mc._width box_mc._x>stageR ? stageR-box_mc._x : box_mc._width;

  boxH = box_mc._height box_mc._y>stageB ? stageB-box_mc._y : box_mc._height;

  mouseX = box_mc._width != 0 ? box_mc._x : _xmouse;

  mouseY = box_mc._height != 0 ? box_mc._y : _ymouse;

  if (actionLabel == "放大") {

  large();

  }

  if (actionLabel == "缩小") {

  small();

  }

  box_mc.removeMovieClip();

  }

  if (actionLabel == "移动") {

  map_mc.stopDrag();

  }

  };

  function large() {

  _l1 = boxW == 0 ? 1.2 : stageR/boxW;

  _l2 = boxH == 0 ? 1.2 : stageB/boxH;

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: 直接复制和修改元件的实例

下一篇: FLASH制作实例—雪花纷扬