javascript – 我应该如何获得相同颜色的相邻块?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 我应该如何获得相同颜色的相邻块?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1077字,纯文字阅读大概需要2分钟。
内容图文
![javascript – 我应该如何获得相同颜色的相邻块?](/upload/InfoBanner/zyjiaocheng/752/b00785cd8959493dbbeb4c1e68cb2e6b.jpg)
我正在尝试制作一个简单的配色游戏,我想找到一种方法来选择相同颜色的块组.
这是我正在研究的fiddle,如果你运行它,你会看到当我试图将鼠标悬停在游戏区边缘的元素时会出现问题,告诉我它正在尝试使用未定义的变量
如果你在下面检查,在parse_quad_tree()函数你会看到我处理未定义的变量的情况,但由于它刹车,这意味着我在某处错了…
感谢您的时间
解决方法:
你的2d数组实际上是嵌套数组.您只需要检查可能超出范围的数组的级别:
var n = !!grid[x][y-1]?grid[x][y-1]:false;
var s = !!grid[x][y+1]?grid[x][y+1]:false;
var e = !!grid[x-1]?grid[x-1][y]:false; // Instead of !!grid[x-1][y]
var w = !!grid[x+1]?grid[x+1][y]:false; // Instead of !!grid[x+1][y]
换句话说,当你执行array [x] [y]时,javascript首先检索array [x],然后在该检索到的数组中查找index [y].在您的情况下,第一次查找是未定义的(grid [x-1]),因此它无法查找grid [x-1] [y].当第一步未定义时,您正在检查最后一步的未定义.
演示:http://jsfiddle.net/jtbowden/qWktv/
另外,如果你在parse_quad_tree开头有$(c).addClass(‘active’),你就可以突出显示单个块,而且你不必为每个邻居调用`.addClass(‘active’),因为它将在递归开始时发生.
演示:http://jsfiddle.net/jtbowden/qWktv/1/
内容总结
以上是互联网集市为您收集整理的javascript – 我应该如何获得相同颜色的相邻块?全部内容,希望文章能够帮你解决javascript – 我应该如何获得相同颜色的相邻块?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。