闪存卡记忆游戏源码,教教我!
2.在影片剪辑“B”的第二帧中插入一个空白关键帧。
3.创建一个新的电影剪辑“K”。这部电影剪辑的每一帧都是一种翻牌。也就是说,你可以在这里的每一帧上画一张卡片,每一帧都是不同的风格。你可以决定有多少张牌。
4.回去编辑电影剪辑“B”,把你的电影剪辑“K”放在空帧2上,这样最好能让它和第一帧的“卡”重合(也就是播放时不会抖动)。
5.选择电影剪辑“B”的第一帧,按F9,在打开的动作面板中输入:stop();
6.在影片剪辑“b”的第二帧中选择影片剪辑“k ”,并在属性面板的“实例名称”列中填写“kid”。然后选择电影剪辑“b”的第二帧之后的帧(简而言之,第二帧到这一帧的时间就是显示卡片的时间,多试试就知道了),按F5插入帧(注意不是关键帧!).
7.在“库”中选择电影剪辑“B”,右键选择“链接”。在出现的对话框中,检查第一项和第三项,并在“标识符”列中填写“块”。
8.回到主场景,选择要开始游戏的帧(例如第一帧),按F9,在打开的动作面板中输入(注意标点符号):
_ root . h = 5;
_ root . w = 4;
_ root . k = 10;
_ root . prox = 0;
_ root . proy = 0;
_ root . xscl = 10;
_ root . yscl = 10;
_ root.hei = 80
_ root.wid = 80
// -
stop();
_ root . score = 0;
_ root . blocks =[];
_ root . firx = 0;
_ root . firy = 0;
for(I = 1;我& lt= _ root.wi++) {
_ root . blocks[I]=[];
for(j = 1;j & lt= _ root.hj++) {
_ root . blocks[I][j]= 0;
}
}
for(I = 1;我& lt= _ root.ki++) {
var px = random(_ root . w)+1;
var py = random(_ root . h)+1;
while(_ root . blocks[px][py]& gt;0) {
px = random(_ root . w)+1;
py = random(_ root . h)+1;
}
_ root . blocks[px][py]= I;
while(_ root . blocks[px][py]& gt;0) {
px = random(_ root . w)+1;
py = random(_ root . h)+1;
}
_ root . blocks[px][py]= I;
}
for(I = 1;我& lt= _ root.wi++) {
for(j = 1;j & lt= _ root.hj++) {
带有(_root) {
attachMovie("block "," block"+i+"/"+j,getNextHighestDepth(),{_x:prox+(j-1)*(wid+xscl),_y:proy+(i-1)*(hei+yscl),_height:_root.hei,_ width:_ root . wid });
}
_root["block"+i+"/"+j]。px = I;
_root["block"+i+"/"+j]。py = j;
_root["block"+i+"/"+j]。k = _ root . blocks[I][j];
_root["block"+i+"/"+j]。onMouseDown = function() {
var xx = _root。_ xmouse
var yy = _root。_ ymouse
如果((xx-这个。_ x & gt0 & amp& ampxx-这个。_ x & lt_ root . wid)& amp;& amp(YY-这个。_ y & gt0 & amp& ampYY-这个。_ y & lt_root.hei)){
if (_root.firx == 0) {
this . gotoandstop(2);
this . kid . gotoandstop(this . k);
_ root . firx = this . px;
_ root . firy = this . py;
} else if(_ root . firx = = this . px & amp;& amp_root.firy == this.py) {
this . gotoandstop(1);
_ root . firx = 0;
_ root . firy = 0;
}否则{
if(_ root . blocks[this . px][this . py]= = _ root . blocks[_ root . firx][_ root . firy]){
_ root . score++;
_ root[" block "+_ root . firx+"/"+_ root . firy]。remove movie clip();
_ root . firx = 0;
_ root . firy = 0;
if(_ root . score & gt;= _root.k){
_root.gotoAndStop(这里写游戏获胜后主场景会跳转的帧数);
}
this . removemovieclip();
}否则{
_ root[" block "+_ root . firx+"/"+_ root . firy]。play();
_ root . firx = 0;
_ root . firy = 0;
this . gotoandplay(2);
this . kid . gotoandstop(this . k);
}
}
}
};
}
}
您可以更改虚线前语句中等号后面的数字:
H -"卡片"矩阵的水平数量;
W -"卡片"矩阵的垂直数量;
K -卡的类型,每种类型将创建一对卡;
(注意!!!对于这三个量,必须满足:h*w = 2*k,否则闪存卡会丢失!)
Prox -卡片矩阵左上角的横坐标。
Proy -卡片矩阵左上角的纵坐标。
卡片的水平间距。
Yscl -卡片的垂直间距。
Hei -卡的高度。
Wid -卡片的宽度。
还有,你要自己去换黑匣子里的东西。....
嗯,那应该和你说的差不多。看看有没有问题?或者你可以发邮件什么的,我可以把文件发给你。
题外话:这是我手工打了半个小时的。。。反正你得加点分。。