×

关注微信公众号

免备案网站空间虚拟主机双线空间域名查询PS数码后期
photoshop互助课堂数百G视频教程下载英语培训机构初中英语如何学随时随地聆听大师开讲/课堂
酷素材!视频教程打包下手绘教程抠图教程路径专辑photoshop cs3视频教程
查看: 3273|回复: 13

[教程] 张志晨as3实例教程系列5——《扫雷英雄榜》Ⅵ

  [复制链接]
发表于 2012-3-8 09:54:23 | 显示全部楼层 |阅读模式
本帖最后由 dqxxx 于 2012-3-8 10:41 编辑

张志晨as3实例教程系列5——《扫雷英雄榜》Ⅵ
扫雷英雄榜 Ⅵ

.......................美...........妙............的............分.............隔...............符..........................
题记:
  [本教程将以独特的方法、创新的代码制作扫雷游戏,帮助大家学习运用as3语言技巧]
  [制作游戏要统筹全局,避免添油式写代码;尽力采用框架思想,如同盖楼,要先有合格的图纸才能动工,不能也不允许边盖楼边修改!]

面对一片雷区,没有哪一个英雄想做烈士!
这里不需要赴汤蹈火,需要的是智慧和勇气!
这里也不需要赌气和莽撞,需要的是技巧和信息。
娴熟的技巧帮助你勇往直前,势如破竹,
匮乏的信息困扰你判断不清,徘徊不已。
没有销烟的战场,看不见沉埋的杀伤,处处凶恶,时时提防……
自古英雄皆才俊,全球高手争虎榜!
  今天,我们就来模拟一个属于你自己的扫雷战场……我们要用智慧和勇气,扫清as3殿堂之路上的暗雷幽光……

  扫雷是一款普及全球的、Windows上加载的小游戏。现在已经有相当多不同版本的扫雷游戏,而且不同语言脚本的各有特色。我们还要制作扫雷,是想通过制作它的体验,亲近as3,沐浴as3的圣光!

.......................多...........好............的............分.............隔...............符..........................


       功能模块三:翻格——充满危险的决定、最具勇气的动作


翻格有三种情况:
  一是安全翻格。情况一目了然,翻格绝对安全。使用鼠标单击事件。
  二是冒险翻格。信息量不足,无法判断是否有雷,但你不能不翻格。使用鼠标单击事件。
  三是快捷翻格。敲山震虎,震开一片,类鉯开格。用鼠标双击显示着数字的空格。条件:它周围的雷标记必须达到它记录的数量!震,是有危险的,在第一讲中提到过。危险是:如果雷标记有误,会引爆所有的雷,任务失败!快速翻格调用开格函数,使用鼠标双击事件。

  为玻璃层mc(前面box.addChuld(zzc)的产物)添加单击事件:
  为了留有余地用于回旋,不用使用MOUSE_CLICK,也不使用MOUSE_DOWN,而使用MOUSE_UP。试想:如果你单击时出了意外,点偏了,那么你可以通过移动鼠标到正确的方块上,再释放鼠标就可以了。如果你问,你不小心在错误的时间里错误的地方错误地释放了鼠标怎么办?我只好说:恭贺你终于成了烈士!

zzc.addEventListener(MouseEvent.MOUSE_UP, fl_MouseClickHandler);
function fl_MouseClickHandler(event:MouseEvent):void {
        var j:uint,k:uint;
        j=zzc.mouseY/20;//提取当前网格坐标值
        k=zzc.mouseX/20;
        open(j,k);//翻格
}
function open(j:uint,k:uint) {
        if (who[j][k].currentFrame==1) {//如果当前方块处于第一帧
                if (map[j][k]<9) {//如果不是雷
                        who[j][k].gotoAndStop(4);//跳转到第四帧
                        if (map[j][k]>0) {//如果它有雷情记录,就是说它周围有雷
                                who[j][k].num.text=map[j][k].toString();//就显示雷情记录
                                who[j][k].num.textColor=colorbox[map[j][k]];//为字上色
                                ding.play();//播放翻格声
                        } else {
                                spaceNum=0;//记录空地数量
                                space=[];//存放空地 同,网格坐标
                                space.push([j,k]);
                                shock(j,k);//震!
                        }
                } else {
                        theBound();//如果踩在雷上,爆!
                }

        }
}

function theBound() {
        tm.stop();//停止计时
       
        var k:int,j:int;
        for (j =1; j<=16; j++) {
                for (k =1; k<=30; k++) {
                        if (map[j][k]==9) {//引爆所有的雷
                                who[j][k].gotoAndStop(5);
                        } else {//翻开所有的格
                                who[j][k].gotoAndStop(4);
                                if (map[j][k]>0) {
                                        who[j][k].num.text=map[j][k].toString();//显示格中的数字
                                        who[j][k].num.textColor=colorbox[map[j][k]];//为字上色
                                }
                        }
                }
        }
}



上述代码放在一个图层里,图层命名:click/open/theBound

代码划块分层摆
便于查阅便于改



.......................多...........好............的............分.............隔...............符.................啊.....................

O、题记
一、扫雷历史
二、规则决定方法
三、方法决定代码

四、代码按功能分层划块√

......................张志晨AS3教程系列:研究心得,倾注心血,和盘奉献,无图无索................................

本帖的地址:http://bbs.jcwcn.com/forum.php?mod=viewthread&tid=431947
跟着教程做一遍,做完的图要到这里评论交作业,教程有看不懂的地方,可以在贴子下面评论

评分

参与人数 1金币 +1 收起 理由
545337574 + 1 谢谢您,对我有帮助.

查看全部评分

 楼主| 发表于 2012-3-8 18:46:14 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2013-1-5 22:07:15 | 显示全部楼层
呵呵,我的as3扫雷也要接近尾声了~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-1-6 07:35:06 | 显示全部楼层
545337574 发表于 2013-1-5 22:07
呵呵,我的as3扫雷也要接近尾声了~

恭喜成功,英雄也
回复 支持 反对

使用道具 举报

发表于 2017-12-15 14:54:24 | 显示全部楼层
酷素材
好帖就是要顶
回复 支持 反对

使用道具 举报

发表于 2017-12-15 14:36:44 | 显示全部楼层
酷素材
顶顶多好
回复 支持 反对

使用道具 举报

发表于 2017-12-15 15:34:17 | 显示全部楼层
说的非常好
回复 支持 反对

使用道具 举报

发表于 2017-12-15 15:24:26 | 显示全部楼层
好帖子要收藏
回复 支持 反对

使用道具 举报

发表于 2017-12-15 15:16:55 | 显示全部楼层
楼主我支持你
回复 支持 反对

使用道具 举报

发表于 2018-5-17 10:34:53 | 显示全部楼层
很不错。。。
回复 支持 反对

使用道具 举报

发表于 2018-5-17 10:37:36 | 显示全部楼层
真心顶。。。。
回复 支持 反对

使用道具 举报

发表于 2018-5-17 10:59:41 | 显示全部楼层
很好哦。。。
回复 支持 反对

使用道具 举报

发表于 2018-5-17 10:35:31 | 显示全部楼层
LZ真是人才
回复 支持 反对

使用道具 举报

发表于 2018-5-17 11:22:04 | 显示全部楼层
好帖子要收藏
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | [立即注册]

本版积分规则

2345