把this.origin = 【
改了
this.origin = {
系统直接崩溃页面出不来了又是怎么回事
逻辑写错了,
位置搞错了:
出bug的代码:
// 判断是否可以向左移动
Square.prototype.canLeft = function (isValid) {
let test = {}
test.x = this.origin.x
test.y = this.origin.y
return isValid(test, this.data)
}
原因: test.y = this.origin.y向左移动还要-1;
test.y = this.origin.y - 1;就OK了
在initDiv(container,data,divs) 不是传了三个参数吗?,根据报错,你看看game.js中调用的initDiv(gameDiv,gameData,gameDivs)是不是有位置出现错误,如果没错,那就是gamediv获取对象时错了,你看看那个local.js
local应该是Local
你如果要执行这个方法就不需要prototype了
+1 请问你解决了吗
命名错误。gameData 写成gamedata了
css没引用吧
哎。。。发现自己的origin在定义的时候写成了oragin,所以一直说我没定义!?
没有gameDATA的数据
document.getElementById(),是不是写成document.getElementsByClassName()了?
这要看你传的实际值是什么
<link rel="icon" href="./favicon.ico">
这个错误自己做demo没什么影响的,可以不用理会
怎么解决的呀
怎么解决的呀
会是js代码里面把i和j搞混了造成的吗
醒醒,这是单机版,你这个地址是Websocket的Server。
找到问题了
估计你css里忘记加position: absolute了
Square.prototype.canRotate = function (isValid) { var tsPoints = this.orgPoints; var tsCodes; var tsDrt = (this.drt + 1) % 4; tsCodes = [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0] ]; for (var i = 0; i < this.squCodes.length; i++) { for (var j = 0; j < this.squCodes[0].length; j++) { tsCodes[i][j] = this.rotCodes[tsDrt][i][j]; } } return isValid(tsPoints, tsCodes); }; Square.prototype.rotate = function (num) { if (!num) { mum = 1; } this.drt = (this.drt + num) % 4; for (var i = 0; i < this.squCodes.length; i++) { for (var j = 0; j < this.squCodes[0].length; j++) { this.squCodes[i][j] = this.rotCodes[this.drt][i][j]; } } };
Square.js里的“X”看下是大小写,如果是大写的话改成小写
内层循环写错了,第33行应该是nextData改为nextData[i]