文章搜索:
打开支付宝首页搜索“510617664”,即可领红包
  首页--> 计算机--> FLASH教程
 
随意切割位图实验
http://www.xxqqss.com 学习轻松网 点击量:5289
 
原创: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); //如果画线状态为真,移动鼠标就画线  
}
};
 
 

AS绘图test.fla
AS绘图test.swf

来源:闪吧论坛  作者:ybzjllj

打印】 【关闭
免责声明 :本站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。对本文有任何异议,请发送fiyeadwyv@163.com
最热门点击排行
 
版权所有 2006-2021:学习轻松网 Copyright http://www.xxqqss.com All rights reserved 浙ICP备14013707号-1
广告联系电话: 13958357030 联系QQ:9792414 工具条下载