FLASH AS3如何用代码切分图片

2025-10-20 12:50:57

1、这里我们用的是Animate CC,和FLASH cs6是一样的界面,最大的不同是没有as2版本的文档了。

新建Actionscript3.0文档,然后保存好。

FLASH AS3如何用代码切分图片

2、将找好的位图导入到舞台上。

FLASH AS3如何用代码切分图片

3、将位置转换为影片剪辑,并设置实例名为image_mc

FLASH AS3如何用代码切分图片

FLASH AS3如何用代码切分图片

4、现在,在主时间轴加如下代码:

var mcAry:Array=new Array();//存放切好的图块

var line:int=4;//要切分的行数

var row:int=5;//要切分的列数

var cut_width:int=0;//图块的宽度

var cut_height:int=0;//图块的高度

var total_count:int=0;//切分的总数

CreateMC();

function CreateMC():void

{

total_count=line*row;//获得切分总数

cut_width=int(image_mc.width/row);//获得图块宽度

cut_height=int(image_mc.height/line);//获得图块高度

var imageBMPD:BitmapData=new BitmapData(image_mc.width,image_mc.height);

imageBMPD.draw(image_mc);

for(var i:int=0;i<total_count;i++)

{

mcAry.push(new Sprite());

mcAry[i].x=(i%row)*cut_width;

mcAry[i].y=int(i/row)*cut_height;

var bmpd:BitmapData=new BitmapData(cut_width,cut_height);

var rect:Rectangle = new Rectangle(cut_width*(i%row),int(i/row)*cut_height,cut_width,cut_height);

var pt:Point = new Point(0,0);

bmpd.copyPixels(imageBMPD, rect, pt);

var bmp:Bitmap=new Bitmap(bmpd);

mcAry[i].addChild(bmp);

this.addChild(mcAry[i]);

}

image_mc.visible=false;

}

FLASH AS3如何用代码切分图片

5、运行后如下图所示

FLASH AS3如何用代码切分图片

6、为了能看出切块效果,我们给这些图块加拖动功能,代码修改如下:

var mcAry:Array=new Array();//存放切好的图块

var line:int=4;//要切分的行数

var row:int=5;//要切分的列数

var cut_width:int=0;//图块的宽度

var cut_height:int=0;//图块的高度

var total_count:int=0;//切分的总数

CreateMC();

function CreateMC():void

{

total_count=line*row;//获得切分总数

cut_width=int(image_mc.width/row);//获得图块宽度

cut_height=int(image_mc.height/line);//获得图块高度

var imageBMPD:BitmapData=new BitmapData(image_mc.width,image_mc.height);

imageBMPD.draw(image_mc);

for(var i:int=0;i<total_count;i++)

{

mcAry.push(new Sprite());

mcAry[i].x=(i%row)*cut_width;

mcAry[i].y=int(i/row)*cut_height;

var bmpd:BitmapData=new BitmapData(cut_width,cut_height);

var rect:Rectangle = new Rectangle(cut_width*(i%row),int(i/row)*cut_height,cut_width,cut_height);

var pt:Point = new Point(0,0);

bmpd.copyPixels(imageBMPD, rect, pt);

var bmp:Bitmap=new Bitmap(bmpd);

mcAry[i].addChild(bmp);

this.addChild(mcAry[i]);

mcAry[i].addEventListener(MouseEvent.MOUSE_DOWN,StartDrag);

mcAry[i].addEventListener(MouseEvent.MOUSE_UP,StopDrag);

}

image_mc.visible=false;

}

function StartDrag(e:MouseEvent):void

{

var obj:Object=e.currentTarget;

obj["parent"].setChildIndex(obj,obj["parent"].numChildren-1);

obj.startDrag();

}

function StopDrag(e:MouseEvent):void

{

var obj:Object=e.currentTarget;

obj.stopDrag();

}

FLASH AS3如何用代码切分图片

7、运行效果如下,鼠标就可以拖动图块了,看到切分的结果。

FLASH AS3如何用代码切分图片

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢