Flash.as数字拼图游戏代码
机械制图基础-学习雷锋精神心得体会
Flash .as数字拼图游戏
文件
package {
import
import ape;
import vent;
public class Main extends Sprite {
private var indexshape:Array =new
Array(1,2,3,4,5,6,7,8);
private var
ditu:Array =new Array(new Array(3),new
Array(3),new Array(3));
private var
pailie:Array =new Array(new Array(0,0),new
Array(40,0),new
Array(80,0),new
Array(0,40),new Array(40,40),new Array(80,40),new
Array(0,80),new
Array(40,80),new
Array(80,80));
将一个120的正方形切割成9份;
public
function Main():void {
init();
}
private function init():void {
var
kuang:Sprite=new Sprite();
yle(3,0xff000ff);笔触为3的紫色矩形
ct(0,0,120,120);画边框;
l();
kuang.x=215;
kuang.y=140;
addChild(kuang);
for (var i:uint=0; i<3;
i++) {如果这个位置没有小方块则值设为1;
for (var t:uint=0;
t<3; t++){
ditu[i][t]=1;
}
}
for (var n:uint=1; n<=8; n++) {制作小方块;
var hao:uint=(()*);取下限值,hao是下
标
var bianhao:uint=indexshape[hao];
(hao,1);删除下标;
var rect:RectShape=new
RectShape(bianhao);
hildren=false;小方块中的文本不再接收事件:对象的子容器为
false
var weizhi:uint=(()*);
var
dui:Array=pailie[weizhi];
(weizhi,1);
}
}
结果:
rect.x=dui[0];
rect.y=dui[1];
rect.X=dui[0]40;
rect.Y=dui[1]40;
ld(rect);
ditu[dui[0]40][dui[1]40]=0;
ntListener(,dong);
}
}
private
function dong(evt:MouseEvent):void {
var
left:uint=.X-1;
var right:uint=.X+1;
var
up:uint=.Y-1;
var down:uint=.Y+1;
if
(left!=4294967295 && ditu[left][.Y]==1) {向左移动
ditu[.X][.Y]=1;
ditu[left][.Y]=0;
.X=left;
.x-=40;被点击的方块像素向左移40;
} else
if (right!=3 && ditu[right][.Y]==1) {向右移动
ditu[.X][.Y]=1;
ditu[right][.Y]=0;
.X=right;
.x+=40;
} else if
(up!=4294967295 && ditu[.X][up]==1) {向上移动
ditu[.X][.Y]=1;
ditu[.X][up]=0;
.Y=up;
.y-=40;
} else if
(down!=3&&ditu[.X][down]==1) {向下移动
ditu[.X][.Y]=1;
ditu[.Y][down]=0;
.Y=down;
.y+=40;
}
}