1 / 10
文档名称:

FLASH连连看算法分析及源代码.docx

格式:docx   大小:25KB   页数:10页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

FLASH连连看算法分析及源代码.docx

上传人:bodkd 2021/5/8 文件大小:25 KB

下载得到文件列表

FLASH连连看算法分析及源代码.docx

相关文档

文档介绍

文档介绍:FLASH连连看算法分析及源代码
做FLASH连连看有特别之处,下面我们就详细分析FLASH连连看的算法。
在做连连看之前,我们根据折线数的不同分为3种情况:
    第一种情况:
如图,方块1与方块2 在同一水平线上,方块1与方块3在同一垂直线上,这就是我们的第一种情况:
在实际应用时,我们在1和2之间或1和3之间实例化一条线段,用hitTestObject来测试,如果与这条线段相交的图片个数小于等于2,那么这两个图片就是连通的。
第二种情况:
就是2和3 的关系了,在2和3之间实例化四条线段,两个水平的,两个垂直的,如下图所示:
与A相交的图片数加上与B相交的图片数小于等于2或者与C相交的图片数加上与D相交的图片数小于等于2,那么这两个图片就是连通的。
第三种情况:
第三种情况主要与前两种情况配合使用,如果前两种情况测试不成功,那么直接跳转到第三种情况,如果第三种情况测试依然不成功,那么这两个图片不连通,也就是说用户进行了一次错误操作。
第三种情况比较复杂,测试两个图片是否连通分为两种情况,一种是A线段是水平的(垂直扫描),另一种是A线段是垂直的(水平扫描)。
,我们要平均间隔垂直扫描并实例化A线段,只有在测试到与A相交的图片数为0时,跳出扫描的循环,并且实例化B线段和C线段,如果与B线段相交的图片数加上与C线段相交的图片数小于等于2,则两个图片连通。
,算法与上者相同,只是扫描的方向不同。
好了,下面我们来亲手做一个简单的连连看。
我们这个连连看很简单,只要按照下面的操作就可以了。
若要运行此示例,请确保在FLASH文件同目录下有一个images文件夹,,,...*32像素的gif格式的图片。
打开flash cs3,新建一个FLASH文档,在文档类中填写simplellk,在同目录下新建一个AS文件,,在其中输入以下代码:
package {
/**连连看原始模型,供AS3交流所用
*/
public class simplellk extends Sprite {
   private var myllk:llk;
   private var myllkarr:Array=new Array;
   private var image:Loader;
   public function simplellk():void {
    setlisteners();
    addllk();
   }
   private function setlisteners():void {
    ("mouseDown",click_stage);
    ("keyUp",keyup);
   }
   private function keyup(event):void{
    if(==116){
     pl();
    }
   }
   private function addllk():