快速业务通道

利用Flash的AS2.0代码制作一百多行的拼图游戏

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-08

先看效果: 将图片分割成一块块的,转换成电影符号,命名.用下面的函数,设置进行初使化.
初使化的格式: //随机排序数组

varobjGame:Object=newObject();

//注:每关图片的名称后缀不要一样。如果一样呢?你试试就知道了。

//6张图,每张图的名称为:mc1,mc2,mc3...

ini_game(objGame,6,this,"mc"); 初使化的函数: //拼图游戏smallerbird2009-8-28mygamemylove@qq.com

//源文件下载地址:http://www.mygamemylove.com/bbs/viewthread.PHP?tid=47

//原创Flash代码,尽在自娱自乐www.MyGameMyLove.com

//游戏初使化信息

//obj:Object初使化的对象

//numMces:Number拼图的数量

//mc:MovieClip拼图元件所在父类

//strName:String拼图元件名称前缀如:mc1,mc2,mc3...那么:strName="mc"

//

functionini_game(obj:Object,numMces:Number,mc:MovieClip,strName:String):Void{

obj.numMces=numMces;

obj.mcP=mc;

obj.strMcName=strName;

//保存拼图网格的位置

obj.arrXY=newArray();

//用于两个拼图移动

obj.arrMove=newArray();

//检测是否拼完

obj.chkOver=function(){

varisOk:Boolean=true;

for(vari:Number=1;i<=this.numMces;i++){

//某一个拼图

varmcTem:MovieClip=this.mcP[this.strMcName+i];

if(mcTem.nowId!=i){

isOk=false;

break;

}

}

returnisOk;

};

//

obj.killMe=function(){

for(variiinthis.mcP){

this.mcP[ii].removeMovieClip();

}

};

//拼图移动到目标:从mc1移动到mc2

obj.mcMoveTo=function(mc1,mc2){

mc1.swapDepths(this.mcP.getNextHighestDepth());

mc1.toX=mc2._x;

mc1.toY=mc2._y;

//

mc1.toVx=(mc2._x-mc1._x)/5;

mc1.toVy=(mc2._y-mc1._y)/5;

//如果全移动到指定的位置

mc1.stopGo=function(){

if(this.obj.arrMove[0]==this){

this.obj.arrMove.splice(0,1);

}else{

this.obj.arrMove.splice(1,1);

}

//如果完成,下一关

if(this.obj.chkOver()&&this.obj.arrMove.length==0){

//trace("ok")

this.obj.killMe();

_root.nextFrame();

}

this.onEnterFrame=undefined;

};

//移动过程

mc1.onEnterFrame=function(){

if(this.toVx>0){

if(this._x>this.toX){

this._x=this.toX;

}else{

this._x+=this.toVx;

}

}elseif(this.toVx<0){

if(this._x<this.toX){

this._x=this.toX;

}else{

this._x+=this.toVx;

}

}

//

if(this.toVy>0){

if(this._y>this.toY){

this._y=this.toY;

}else{

this._y+=this.toVy;

}

}elseif(this.toVy<0){

if(this._y<this.toY){

this._y=this.toY;

}else{

this._y+=this.toVy;

}

}

//

if(this._x==this.toX&&this._y==this.toY){

this.stopGo();

}

};

};

//初使化

obj.ini=function(){

//拼图游戏smallerbird2009-8-28mygamemylove@qq.com

//原创flash代码,尽在自娱自乐www.MyGameMyLove.com

this.arrXY=newArray();

for(vari:Number=1;i<=this.numMces;i++){

//某一个拼图

varmcTem:MovieClip=this.mcP[this.strMcName+i];

//保存编号,坐标x,y

mcTem.txt.text=i;

mcTem.id=i;

mcTem.iniX=mcTem._x;

mcTem.iniY=mcTem._y;

mcTem.nowId=0;

mcTem.obj=this;

//

this.arrXY.push({i:i,x:mcTem._x,y:mcTem._y});

//拼图操作

mcTem.obj=this;

mcTem.onRelease=function(){

if(this.obj.arrMove.length==2){

return0;

}

this._alpha=50;

if(this==this.obj.arrMove[0]||this==this.obj.arrMove[1]){

this._alpha=100;

if(this.obj.arrMove[0]==this){

this.obj.arrMove.splice(0,1);

}elseif(this.obj.arrMove[1]==this){

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号