毕业设计(论文)报告纸
图3.5结束界面
3.1.7游戏脚本及其解释
kaishiyouxi.addEventListener(MouseEvent.CLICK,kaishiyouxi21); function kaishiyouxi21(e:MouseEvent){
gotoAndPlay(2); }
这一段是鼠标点击确定按钮来跳转页面的。
tijiaoziliao.addEventListener(MouseEvent.CLICK,tijiaoziliao1); function tijiaoziliao1(e:MouseEvent){
if(name_txt.text!=\gotoAndPlay(4); else
gotoAndPlay(3); }
这一段运用了判断语句,来判断注册窗口标写为必填写项的不能为空的语句,若是语句有一个为空,就会跳转的注册信息不全的页面的,如果都按照要求填写好了,就会跳转到注册成功的页面的。
var
mc_array:Array
=
new
Array
(piece1,piece2,piece3,piece4,piece5,piece6,piece7,piece8,piece9,piece10,piece11,piece12,piece13,piece14,piece15,piece16);
共 27 页 第 8 页
//var mc_array2:String =
毕业设计(论文)报告纸
new Array
(piece1,piece2,piece3,piece4,piece5,piece6,piece7,piece8,piece9,piece10,piece11,piece12,piece13,piece14,piece15,piece16);
var mc_array1:Array=[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0,]]; 这一段是实例化分离的图片,把分离的图片放置在一个影片剪辑里,并且都初始化他们的属性为“0”。
for(i=0;i<16;i++) {
mc_array[i].x = Math.random()*350+450; mc_array[i].y =Math.random()*250+50; container.addChild(mc_array[i]); }
这里是将分离的图片随机分配一下位置。
stage.addEventListener(MouseEvent.CLICK,clk); function clk(e:MouseEvent):void{ if(e.target.name!=null) {
e.target.addEventListener(MouseEvent.CLICK,updateDisplay); function updateDisplay(e:MouseEvent):void{
for(i=0;i<16;i++){
if(mc_array[i].name==e.target.name) {container.addChildAt(mc_array[i],15); e.updateAfterEvent(); } } }
这里是标注一个鼠标侦听事件,在注册事件之后,这段代码会“等待”。一旦注册事件发生,便会调用侦听器函数。
e.target.addEventListener(MouseEvent.MOUSE_DOWN,beginDrag); function beginDrag(e:MouseEvent):void{
共 27 页 第 9 页
毕业设计(论文)报告纸
95
}
function endDrag(e:MouseEvent):void{ } }
这边是运用了注销事件。当鼠标按下后,则注销原来的事件,同时注册一个新的事件,侦听鼠标抬起的情况;同时,当鼠标弹起时,则注销鼠标弹起的事件,同时注册鼠标按下的事件。
if(e.target.x<310&&e.target.x>50&&e.target.y>30&&e.target.y<280) { var x:int; var y:int;
var x1:int=(e.target.x-72)r; var x2:int=(e.target.x-72)/72; var y1:int=(e.target.y-54)r;
var y2:int=(e.target.y-54)/72;
这一段是用于,先实例化两个变量,表示判断小方格的中心,而且碎片放置在方格子中才是有效的。
if(x1>54) {x2=x2+1;
共 27 页 第 10 页
e.target.stopDrag(); e.updateAfterEvent();
e.target.addEventListener(MouseEvent.MOUSE_DOWN,beginDrag); e.target.removeEventListener(MouseEvent.MOUSE_UP,endDrag); e.target.filters = []; e.updateAfterEvent();
e.target.addEventListener(MouseEvent.MOUSE_UP,endDrag); e.target.removeEventListener(MouseEvent.MOUSE_DOWN,beginDrag); e.target.startDrag(); e.updateAfterEvent();
e.target.filters = [new DropShadowFilter(5,10,0x888888)];//滤镜效果
毕业设计(论文)报告纸
x=x2*72; }else if(x1<18) {
x=x2*72;
}else
{x=e.target.x; y=e.target.y; } if(y1>54) {y2=y2+1; y=y2*72; }else if(y1<18) {
y=y2*72;
}else
{x=e.target.x; y=e.target.y;
这一段表示的是小格子有吸附作用,碎片放置在靠近格子的地方就会吸附进去的,这个主要是中心的的吸附的。
var sum:int=0; for(i=0;i<16;i++) {
if(((mc_array[i].x-72)/72+((mc_array[i].y-54)/72)*4)==i) sum=sum+1; }
if(sum==16) {
gotoAndPlay(6); } else ;
共 27 页 第 11 页
毕业设计(论文)报告纸
}
这边是判断最后游戏有没有成功的语句,当所有的碎片都无误的放置在相应的格子里面,并且点击确定的话判断开始,确认无误就会跳转到下一个页面,有错误的话则不能完成相应的跳转的。
tuichuyouxi.addEventListener(MouseEvent.MOUSE_DOWN,tuichuyouxi1); function tuichuyouxi1(event:MouseEvent):void {
fscommand(\关闭屏幕的 }
zailaiyiju.addEventListener(MouseEvent.MOUSE_DOWN,zailaiyiju1); function zailaiyiju1(event:MouseEvent):void {
gotoAndPlay(5); }
这边又是添加了鼠标的侦听事件,最后页面有两个选项的框框按钮,玩家希望再玩一次的话就点击“再来一次”;希望结束游戏的话就点击“退出游戏”就会关闭整个窗口的。
3.2扫雷游戏的设计与制作
3.2.1扫雷游戏的介绍
扫雷是一款相当大众的小游戏,游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷。扫雷最初的流行伴随着1992年发布的windows 3.1,之后迅速成为了各种操作系统中必不可少的一款游戏(包括windows的winmine, KDE桌面环境下的KMines,GNOME桌面环境下的gnomine等),也出现于一些智能手机平台(比如Android系统的Minesweeper Classic,苹果ios系统的Minesweeper Q)。同时,Minesweeper Clone等功能更为丰富的“专业”扫雷软件也应时而生。扫雷玩家可以在中国扫雷网加入排行。 3.2.2扫雷游戏制作简介
本人通过flash软件简单的制作了一款扫雷小游戏,游戏设计了两个场景一个是开始的场景,一个是游戏的场景。点击开始的场景的图片我们就能进入到游戏中。玩
共 27 页 第 12 页