初始化/div 冲突之前无法访问'isColliding'



我正在尝试制作一个抓蛋游戏,在网上发现了一些代码片段,希望它们能协同工作,这样当两个div碰撞时,分数就会增加一分。我收到此错误。初始化前无法访问"isColliding"。此外,我不知道div冲突是否有效,因为我因为错误而无法测试它,提前感谢您的帮助!

代码:

let points = $('#points');
let countpoints = 0;
let overlap = isColliding("#basket", "#egg6");
if (overlap) {
function EggHitsBasket() {
countpoints++;
points.text("points:" + countpoints);
}
}

let isColliding = function (div1, div2) {
let d1Offset = div1.offset();
let d1Height = div1.outerHeight(true);
let d1Width = div1.outerWidth(true);
let d1Top = d1Offset.top + d1Height;
let d1Left = d1Offset.left + d1Width;
let d2Offset = div2.offset();
let d2Height = div2.outerHeight(true);
let d2Width = div2.outerWidth(true);
let d2Top = d2Offset.top + d2Height;
let d2Left = d2Offset.left + d2Width;
return !(d1Top < d2Offset.top || d1Offset.top > d2Top || d1Left < d2Offset.left || d1Offset.left > d2Left);
};

在定义isColliding之前调用它,这与以下代码片段中发生的情况相同:

let x = y * 2
let y = 42

在调用isColliding之前,您需要声明它。或者使用函数声明

function isColiiding(div1, div2) { ... }

而不是函数表达式

let isColliding = function (div1, div2) { ... }

最新更新