您的位置:首页 > 其它

flash as3.0 五子棋实现保存功能

2016-10-18 21:04 316 查看
          先说一下,本人是一个小白,如有错误请随意指点。由于五子棋功能的实现因为不是全部自己写的,就不放在这里了,就来说一下悔棋功能的实现吧。

          首先,要实现悔棋功能的话,就要知道悔棋的机理,悔棋是把前一颗棋子从棋盘中消去,也就是要让前面的棋子完全除去,不仅要除掉MovieClip ,还要消掉数组上他所占的位置,也就是从下了十颗棋子,变成下了九颗,而不是变成十颗棋子一颗隐藏。然后就是,悔棋过后的棋子要和除去的棋子颜色一样,所以还要改一下棋子的颜色。

         声明一下,steps是计步器,step_x和step_y是用来记录每一颗棋子的位置,color是用来记录棋子颜色,chess_arr是一个用来记录棋子图片的数组。

   //悔棋
   replay.addEventListener(MouseEvent.CLICK,huiqi);

             function huiqi(e:MouseEvent):void{   
var color,a,b:int = 0;
a = step_x[steps];
b = step_y[steps];
if (steps>0){
color= qizi[a][b];
trace("a="+step_x[steps]+"  b="+step_y[steps]);  //此项为排bug所用,无任何意义
qizi[a][b]=0 ;
var mc = chess_arr.pop();

                  house.removeChild(mc);
steps--;
    }
if(color==1){
curQizi=BLACK;
wenzi.gotoAndStop(1);
player.gotoAndStop(1);
}
else{
curQizi=WHITE; 
wenzi.gotoAndStop(2);
player.gotoAndStop(2);
}
}


就这样,看上去很简单的代码,我查了好多资料,花了好多天才做出来的,不过好歹是做出来了,虽然感觉好像有的地方有点重复的感觉,但是功能还是实现了的,还知道了原来flash as3.0中的数组竟然可以储存图片,也算学到了好多有用的知识,第一次做,鼓励一下自己。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐