拼图游戏思路

    拼图的切割、打乱和还原:

    切割:首先是要图片获取一样的宽和高

this._widget = baseSp.width/SHRED_NUM_W;
this._height = baseSp.height/SHRED_NUM_H;
 
在创建好的同时在Cell里面需要调用方法:
setIndexId:function(om){
    this._cellIndex=om;
}
getIndexId:function(){
    return this._cellIndex;
}
进行碎片的交换:
_exchang2Cell:function(cell1, cell2){     //交换2个碎片的坐标和 indexId
    var temp = cell1.getPosition();
    cell1.setPosition(cell2.getPosition());
    cell2.setPosition(temp)
    temp = cell1.getIndexId()
    cell1.setIndexId(cell2.getIndexId())
    cell2.setIndexId(temp)
        //结局检查   是否是按 0 1 2 3 4 5 6 7 8 进行交换

},    对于碎片还原这个方法需要在点击时间里调用一次【that._exchang2Cell(cell, that._temp)】定义【var that = this】这样比较安全一些。
       还需要在点击开始游戏按钮的时候调用一次【this._exchang2Cell(cell, this._shredArr[random_num])】PS:【random_num为随机打乱数组的长度。
       每次点击让点击点和所有的碎片进行point是否在rect里的检查,注意碎片的锚点和碎片的X,Y坐标是否存在坐标差。

【this.touchTarget.setLocalZOrder(that.childrenCount)	//将要给元素置顶】
【width	height  getContentSize 获取原始的宽高   getBoundingBox  获取实际的宽高】

定时器的添加:1.要在点击游戏开始的时间才开始动。   2.时间到了图片将不能再进行点击交换。  3.在游戏完成时,游戏时间应该停止不再动。 


小bug:游戏开始的时候碎片打乱顺序,需要建一个游戏开关【_caoboout:false,
       因为曾容器的存在,所有在玩的时候会掩盖一些区域点不到,所以需要在UI界面把交互的勾给点掉。  
       游戏成功或者失败的界面弹出需要在一开始的时候隐藏【false】,在完成了或者时间到了失败了再弹出【true】。




 



 
 
 

     

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值