三消游戏的理解(2)
来源:互联网 发布:虎牙直播app下载mac版 编辑:程序博客网 时间:2024/06/05 01:07
承接上次三消游戏的点击消除掉落。今天主要是说的是三消游戏的核心。点击检测周围相同的颜色块。然后将其消除。首先还是在点击消除的时候,也就是检测点击事件里面。点击开始函数里面的方法抛出一个自定义事件。抛出的对象就是当前点击的坐标。然后在APP.js里面接收自定义事件。代码如下:
cheskclose:function(event){ var data = event.getUserData();//获取点击的坐标 var arr = this.checkNeighbor(data)//给获得的坐标传给定义的方法体 var newArr = arr.slice()//对之前的方法深复制 for (var index in arr) { var po = arr[index] newArr = newArr.concat(this.checkNeighbor(po)) } this.updataopyity(newArr) },
checkNeighbor:function(touchIndex){ cc.log("开始检查",touchIndex.x,touchIndex.y) var returnArr = [] var touchtype = this.spArr[touchIndex.x][touchIndex.y].type var checkArr = [cc.p(-1,0),cc.p(1,0),cc.p(0,-1), cc.p(0,1)] for(var index in checkArr){ var arrIndex = checkArr[index] if(touchtype == this.checkCellColor(cc.pAdd(touchIndex,arrIndex))){ returnArr.push(cc.pAdd(touchIndex,arrIndex)) } } return returnArr },
updataopyity:function(arr){ for(var index in arr){ var sp = arr[index] //this.spArr[sp.x][sp.y].opacity = 100 this.spArr[sp.x][sp.y].removeFromParent(true) } }
先是获取点击的坐标,然后给获得的点击坐标传给第二个方法体,其中第二个方法体中的在函数的开始就传入了一个点击的坐标,定义一个空的数组。并且将点击的图片的颜色保存在一个局部变量中,然后定义一个数组里面存的就是点击的图片上下左右的四个点。然后遍历这个数组。取得这四个点遍历的结果就是 如果上下左右四个点中有跟点击的图片颜色一样的图片就给这个图片存在刚刚定义的空数组中。并且在函数的最后 return 这个数组。所以在第一个自定义接收方法体,里面var arr = this.checkNeighbor(data)
里面就是存的是与点击图片相同的图片(也就是hi一个数组),然后先对这个数组进行遍历
取出里面与点击图片相同的图片。并且将新复制的图片与传过来的数组相加。相加一次就只能检测周围一个相同的块。相加两次就可以检测周围两个相同的块。
现在还存在一个问题。每次检测块的时候都会检测点击图片的上下左右。然后进行下一次检测的时候还是回检测上下左右。所以这样就回出现多次检测相同的图片。并且还没能实现下落效果。
未完待续。。。。。。。。。。。。
0 0
- 三消游戏的理解(2)
- 三消游戏的理解(1)
- 三消游戏(三)
- 游戏的基础-三消-2
- 三消游戏的知识点
- 三消游戏(二)
- 思考的救赎(一):三消游戏实现探索
- 思考的救赎(二):三消游戏功能完善
- 小时候的游戏(三):最短路径算法2
- 基于Unity3D的2d拾宝游戏(三)
- 消除游戏的理解(3)
- 游戏坐标系的理解
- 对游戏的理解
- 游戏的基础—三消-1
- 三消游戏死局算法的解析
- 游戏外挂的编写原理(三)
- pygame编写的坦克游戏(三)
- 游戏的目标(三)
- vs2010设置堆栈大小
- PPP封装--PAP认证、CHAP验证
- 轻量级分布式 RPC 框架
- 配置 OSPFv3 路由、配置 OSPFv3 被动接口
- selenium wait.until
- 三消游戏的理解(2)
- 配置并检验 RIPng 路由
- Android中数据存储方式
- IOS人脸识别
- 配置并检验 S1 上的安全功能
- 聊聊同步、异步、阻塞与非阻塞
- 循环上传图片
- 7.1
- DHCP配置