0

我目前正在尝试在 micro:bit 内创建蛇。但是一个问题是,当我使用 if 语句来检测蛇是否正在触摸苹果时,它会工作一次,但随后我调用了函数,它说

function createApple() {
    let apple = game.createSprite(randint(0, 5), randint(0, 5));
}

使用 let 语句创建变量使其成为仅与函数内部的其他语句一起使用的局部变量,但是当我尝试使用 var 创建变量时,它说我必须使用 let 语句定义变量。有没有办法在函数和其他有效的代码块中创建全局变量?(请以一种不会对我的情况主观的方式回答它,并且会涉及到包括我自己在内的人们的许多类似情况)

(如果有人回答,这是我的 if 语句)

loops.everyInterval(1, function () {
    if (snakeHead.isTouching(apple)) {
        apple.delete();
        createApple();
    }
});
4

1 回答 1

2

您可以在函数外部声明变量以使其成为全局变量。如果你从一个空的全局变量开始,你必须在后面添加变量的类型:

let apple : game.LedSprite

function createApple() {
    apple = game.createSprite(randint(0, 5), randint(0, 5));
}

如果您不知道变量的类型(在这种情况下game.LedSprite),您可以通过将鼠标悬停在函数上来找到它createSprite,请参见屏幕截图:

在此处输入图像描述

于 2021-11-10T17:07:15.093 回答