当前位置:主页>FLASH AS 编程>AS进阶篇>文章内容
  • 随意切割位图实验
  • 来源:网络 作者:ybzjllj 2007-04-25 【
原创:ybzjllj 。
效果:用鼠标随意画一个形状,拖动此形状,就从原图上切出绘图区域的图来。
注意:非遮罩,感觉比就遮罩简单。
使用了:AS绘图、位图对象、位图填充。
import flash.display.BitmapData;
import flash.geom.Matrix;
//导入一张图片,放在舞台上,转为MC,实例名为“原图”
//“mc”是用来在里面绘图的
var 原图:MovieClip, mc:MovieClip;
var 画线 = false;//画线标志
var bmpImage:BitmapData=new BitmapData(原图._width,原图._height);//创建位图对象
bmpImage.draw(原图,new Matrix());//用“原图”描绘位图对象
//当鼠标按下时
原图.onPress = function() {
if (mc.hitTest(_xmouse, _ymouse, true)) {
  mc.startDrag();  //如果鼠标在mc上,就开始拖动它   
} else {
  //按下鼠标时,鼠标不在复制的MC上,启动画线
  画线 = true;
  mc = this.createEmptyMovieClip("mc", 1);//创建空MC,此操作会同时删除原来绘的图,如果不想删除原来的,就改用数组。
  mc.lineStyle(1, 0xFF0000);  //线条样式
  mc.beginBitmapFill(bmpImage,new Matrix(),false);   //标识位图填充开始
  mc.moveTo(_xmouse-this._x, _ymouse-this._y); //移动画线起点到此
}
};
原图.onMouseUp = function() {
if (画线) {
  画线 = false;
  mc.endFill(); //填充结束
} else {
  mc.stopDrag();
}
};
原图.onMouseMove = function() {
if (画线) {
  mc.lineTo(_xmouse-this._x, _ymouse-this._y); //如果画线状态为真,移动鼠标就画线  
}
};


上一篇:只有八行代码的动态自适应文本框   下一篇:播放进度控制
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)