用FlashAS实现画图的周详讲解

2008-04-02 11:06:20来源:互联网 阅读 ()

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


  用Action Script进行控制,能够随机画出各种图像,该教程为系列讲座,提供了许多很有用的AS代码……

  使用方法:把代码拷到帧中就可看到效果

  用鼠标任意画线

  效果:可按住鼠标任意画线,可作简单的涂鸭工具

  代码:
createEmptyMovieClip("xian",1);

  with (xian) {

  _root.onMouseMove = function() {

  if (draw) {

  _root.lineStyle(0,0x000000, 100);

  _root.lineTo(_root._xmouse,_root._ymouse);

  }

  };

  _root.onMouseDown = function() {

  draw = true;

  _root.moveTo(_root._xmouse,_root._ymouse);

  };

  _root.onMouseUp = function() {

  draw = false;

  };

  }


  用鼠标任意画直线

  效果:类似flash中的直线工具

  代码:
createEmptyMovieClip("line", n);

  with (line) {

  lineStyle(1, 0x000000, 100);

  moveTo(0, 0);

  lineTo(100, 100);

  line._visible = 0;

  }

  _root.onMouseDown = function() {

  qidian_x = _root._xmouse;

  qidian_y = _root._ymouse;

  with (line) {

  _x = qidian_x;

  _y = qidian_y;

  _xscale = 0;

  _yscale = 0;

  _visible = 1;

  }

  };

  _root.onMouseMove = function() {

  endX = _root._xmouse;

  endY = _root._ymouse;

  if (_root.line != "_root.line" && key.isdown(16)){

  if (Math.abs(endX-qidian_x)>Math.abs(endY-qidian_y)){

  setProperty(_root.line,_xscale, endX-qidian_x);

  setProperty(_root.line,_yscale, endX-qidian_x);

  } else {

  setProperty(_root.line,_xscale, endY-qidian_y);

  setProperty(_root.line,_yscale, endY-qidian_y);

  }

  } else {

  setProperty(_root.line, _xscale,endX-qidian_x);

  setProperty(_root.line, _yscale,endY-qidian_y);

  }

  };

  _root.onMouseUp = function() {

  if (_root._xmouse-qidian_x != 0) {

  i ;

  Objectx = "Copy" add i;

  duplicateMovieClip(_root.line,Objectx, i);

  setProperty(Objectx, _x, qidian_x);

  setProperty(Objectx, _y, qidian_y);

  _root.i = i;

  }

  setProperty(_root.line, _visible, 0);

  };


  用鼠标任意画矩形

  效果:类似flash中的矩形工具

  代码:
createEmptyMovieClip("line", n);

  with (line) {

  lineStyle(0.1, 0x000000, 100);

  moveTo(0, 0);

  lineTo(100, 0);

  lineTo(100, 100);

  lineTo(0, 100);

  lineTo(0,0);

  line._visible = 0;

  }

  _root.onMouseDown = function() {

  qidian_x = _root._xmouse;

  qidian_y = _root._ymouse;

  with (line) {

  _x = qidian_x;

  _y = qidian_y;

  _xscale = 0;

  _yscale = 0;

  _visible = 1;

  }

  };

  _root.onMouseMove = function() {

  endX = _root._xmouse;

  endY = _root._ymouse;

  if (_root.line != "_root.line" && key.isdown(16)){

  if (Math.abs(endX-qidian_x)>Math.abs(endY-qidian_y)){

  setProperty(_root.line,_xscale, endX-qidian_x);

  setProperty(_root.line,_yscale, endX-qidian_x);

  } else {

  setProperty(_root.line,_xscale, endY-qidian_y);

  setProperty(_root.line,_yscale, endY-qidian_y);

  }

  } else {

  setProperty(_root.line, _xscale,endX-qidian_x);

  setProperty(_root.line, _yscale,endY-qidian_y);

  }

  };

  _root.onMouseUp = function() {

  if (_root._xmouse-qidian_x != 0) {

  i ;

  Objectx = "Copy" add i;

  duplicateMovieClip(_root.line,Objectx, i);

  setProperty(Objectx, _x, qidian_x);

  setProperty(Objectx, _y, qidian_y);

  _root.i = i;

  }

  setProperty(_root.line, _visible, 0);

  };


  用鼠标任意画圆、椭圆

  效果:类似flash中的工具

  代码:
createEmptyMovieClip("line", n);

  with (line) {

  for (n=1; n<400; n ) {

  a = 50*Math.cos(n*Math.PI/180);

  b = 50*Math.sin(n*Math.PI/180);

  c = 50*Math.cos((n 1)*Math.PI/180);

  d = 50*Math.sin((n 1)*Math.PI/180);

  lineStyle(0.01, 0x000000, 50);

标签:

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

上一篇: Flash使用技巧-用Flash制作转动的地球仪

下一篇: 新浪/闪客帝国图片效果解析