邮件订阅
5ucms仿站,Flash游戏制作--五子连珠(二)
作者: 来源: 日期:2017/1/19 0:09:38 浏览量:17(滞后) 人气:LOADING...(实时) 【

5ucms仿站,Flash游戏制作--五子连珠(二)
// 显示棋子

_root.display = "Xpos : " + (x + 1);

temp = chr ( y + 65);

_root.display1 = "Ypos : " + temp;

_root.playnow = "player";

//判断是否获胜

xx = x;

yy = y;

for (k=0; k<4; k++) {

if (_root.a_result <> 6) {

_root.a_result = 0;

x = xx;

y = yy;

while ((_root.table[y][x] == 2) and (y+_root.dir[k][1] < 16) and (x+_root.dir[k][0] >= -1) and (x+_root.dir[k][0] < 16) and (y+_root.dir[k][1] >= -1)) {

x = x + _root.dir[k][0];

y = y + _root.dir[k][1];

// "_root.table["+y+"]["+x+"]="+_root.table[y][x]

_root.a_result = _root.a_result+1;

}

x = xx;

y = yy;

while ((_root.table[y][x] == 2) and (y+_root.dir[k+4][1] < 16) and (x+_root.dir[k+4][0] >= -1) and (x+_root.dir[k+4][0] < 16) and (y+_root.dir[k+4][1] >= -1)) {

x = x + _root.dir[k+4][0];

y = y + _root.dir[k+4][1];

_root.a_result = _root.a_result+1;

}

if (_root.a_result == 6) {

_root.playnow = "nobody";

}

}

}

if (_root.playnow =="nobody") {

_root.gameoverman.gotoAndPlay(2);

}

}
C:新建一个Movie clip组件,并命名为bb,此组件用来计算电脑如何走棋,进入组件编辑状态后,在图层layer1绘制一个有填充色的矩形,然后在第5桢插入一个关键桢,在同样位置绘制一个大小相同填充色不同的矩形。新建一个图层,在矩形里输入提示文字:电脑走棋,然后再新建一个图层Actinobody";

}

}

}

// 游戏结束

if (_root.playnow =="nobody") {

_root.gameoverman.gotoAndPlay(2);

}

}

最后的时间线如图6所示:




图6

D:再新建一个movie clip组件,命名为buttonclip,此组件用来控制双方的落子,进入组件编辑状态后,将前面做好的隐形按钮拖放到编辑区中,然后给第一桢添加AS:stop();.

E:最后再制作一个movie clip,命名为gameover,此组件用来判断游戏是否结束,也就是判断是缶有一方已经连好了五颗棋子。进入组件编辑状态后,连续建立四个图层,分别为layer1,layer2,layer3和action,在layer1,layer2,layer3的第一桢插入空白,然后在第2桢绘制电脑获胜的提示信息,并将Replay按钮拖到编辑区中,给按钮添加As:

on (release) {

gotoAndPlay("endit");

}

如图7所示:




图7

在layer1,layer2,layer3的第三桢按照同样的方法设置您胜利的提示信息,如图8所示:




图8
然后回到图层action,接下来就要添加具体的控制Action了,在此图层的前三个关键桢分别添加as: stop();,在第四关键桢添加如下AS:

for (i=0; i<=225; i++) {

removeMovieClip(_root.black add i);

removeMovieClip(_root.white add i);

removeMovieClip(_root.b add i);

}

//清除棋盘上的棋子

_root.gotoAndPlay("run");

//跳转到游戏的开始

最后的时间线如图9所示:




图9

布置主场景:

游戏的主要工作完成后,接下来需要布置主场景了。

首先使用绘图工具绘制出游戏中的棋盘,棋盘大小为15*15的矩阵,然后给棋盘标上横向和纵向的标识,如图10所示:




图10

分别将组件white,black,buttonclip,blk,bb和gameover拖到舞台的合适位置,如图11所示:




图11

组件white的实例名为:black

组件black的实例名为:white

组件buttonclip的实例名为:b

组件blk的实例名为:func

组件bb的实例名为:computerrun

组件gameover的实例名为:gameoverman

然后在棋盘上绘制两个Dynamic text动态文本框,用来显示上一步落子的位置,分别设置变量名为display和display1。

最后,给第一关键祯添加as:

stop();

urls = "边城浪子-闪客帝国";

num = 0;

table = new Array();

computer = new Array();

player = new Array();

a_result = 0;

// Table array

for (i=0; i<15; i++) {

table[i] = new Array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);

}

// Computer and player table list
for (j=0; j<15; j++) {

for (i=0; i<15; i++) {

computer[j*15+i] = new Array(0,0,0,0);

player[j*15+i] = new Array(0,0,0,0);

}

}

// Make buttons

count = 0;

for (j=0; j<15; j++) {

for (i=0; i<15; i++) {

duplicateMovieClip(_root.b, "b"add count, count + 30);

setProperty("b"add count, _x, 34.7 + i * 20);

setProperty("b" add count, _y, 34.7 + j * 20 );

count++;

}

}

// Eight directions

var dir = new Array();

dir[0] = new Array(1,0);

dir[1] = new Array(1,1);

dir[2] = new Array(0,1);

dir[3] = new Array(-1,1);

dir[4] = new Array(-1,0);

dir[5] = new Array(-1,-1);

dir[6] = new Array(0,-1);

dir[7] = new Array(1,-1);

playnow = "player";

removeMovieClip(_root.b112);

duplicateMovieClip(_root.white, "white112", 142);

setProperty("white112", _x, 174.7);

setProperty("white112", _y, 174.7);

// The first black point

table[7][7] = 2;



到此为止,五子连珠这个游戏就制作完成了,本游戏属于较高级的游戏制作,需要有一定的Action编程基础,不过如果您对Action不太了解,相信学完本实例后,可以在一定程度上提高您的Action水平。

欢迎您访问www.5ucms.org

本站推荐: 5ucms模板下载 5ucms插件下载 仿站联系Q3876307       [复制给好友] [打印] [关闭] [返回] [顶部]
上一篇:5ucms模版,Flash游戏制作--打飞碟
下一篇:5ucms模版,Flash游戏制作--五子连珠(一)
本站声明:本网站所载文章等内容,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权及其它问题,请在30日内与本网联系(Email:3876307#qq.com),我们将在第一时间删除内容。若原创内容转载请注明出处。
5ucms仿站,Flash游戏制作--五子连珠(二)的关键词:
评论信息
相关分类
本周热门
本月热门
关于我们 - 版权/免责 申明 - 建站服务 - 网站地图 - 稿件投递 - 联系我们 - 5ucms
Copyright © 2008-2015 www.5ucms.org