手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网页制作>Flash>列表

用FlashAS实现画图的周详讲解

来源:互联网 作者:west263.com 时间:2008-04-02
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

  用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);

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!