求flash智能拼图 制作步骤!!!

发布网友 发布时间:2022-04-25 05:11

我来回答

1个回答

热心网友 时间:2023-10-28 18:16

我来给个as3.0版的模板

1、新建一个Flash ActionScript 3.0文档(需求CS4以上的软件,建议是CS5.5以上,否则附件打不开),在舞台第一帧输入如下代码:(有简略的解说,方便理解和使用)

import com.view.core.SpellMap;

/*
* SpellMap参数解析:
* url_map:是库中图片的链接,如果是外载图片,则提取bitmapData传入即可
* 80:是图块大小,根据图片大小自行设定
* 3:是方阵的行数,根据图片大小和需要自行设定
* 4:是方阵的列数,根据图片大小和需要自行设定
* PS:关于图片的问题,如果设置的图片大小超过资源图片大小,则会用黑色块代替,比如将行数设置成4后会出现带有黑色的图块
*/
var map:SpellMap = new SpellMap(new url_map(),80,3,4);

this.addChild(map);//将拼图放置到舞台中显示
this.addChild(map.reference_map);//将拼图的参考图片,即小图放置舞台显示
map.reference_map.x = map.x+map.width+10;//设置参考图片的位置,以免和原图重叠

map.start();//开始打乱图块
//map.reset();//重置图片位置
//map.back();//返回上一步,即悔步,默认为悔到最初步数


map.addEventListener(Event.CHANGE,stepChangeFun);//添加步数事件,在需要显示步数时使用,注意,在悔步的时候也会触发此事件

function stepChangeFun(e:Event):void{
trace("当前步数:"+map.step);
}

map.addEventListener(Event.COMPLETE,mapCompleteFun);//添加完成事件,拼图完成的检测

function mapCompleteFun(e:Event):void{
trace("拼图已完成!");
map.lock = true;//加锁拼图,即不能再移动了,解锁设置成false或调用start()或reset()方法即可
//map.fillVacancyMap();//填补最后一块图,在拼图完成后,可以使用此方法填补,按需使用
}


2、将需要制作成拼图的图片拖到文档里去,直接拖放到舞台,之后再删掉即可(即为导入图片),并命链接名为url_map,右击库(Ctrl+L打开库)中的图片,选择“属性”项,在属性对话框中设置,如图的顺序

如果你使用的是CS5.5以上的软件的话,直接在库中,双击图片名字后“链接”列位置可以直接进行编辑的。


3、将附件中的com文件夹直接复制到文档所在目录下,Ctrl+Enter测试。


附件内带有一个例子,因为有图片,所以相对较大了。


请注意文件修改时间与创建时间,代码并非复制。


声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com