如何在 Microsoft MakeCode 中为 micro:bit 创建全局变量?
How do you create global variables in Microsoft MakeCode for micro:bit?
我目前正在尝试在 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();
}
});
您可以在函数外声明变量,使其成为全局变量。如果你从一个空的全局变量开始,你必须在:
后面加上变量的类型
let apple : game.LedSprite
function createApple() {
apple = game.createSprite(randint(0, 5), randint(0, 5));
}
如果您不知道变量的类型(在本例中为 game.LedSprite
),您可以通过将鼠标悬停在函数 createSprite
上找到它,请参见屏幕截图:
我目前正在尝试在 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();
}
});
您可以在函数外声明变量,使其成为全局变量。如果你从一个空的全局变量开始,你必须在:
let apple : game.LedSprite
function createApple() {
apple = game.createSprite(randint(0, 5), randint(0, 5));
}
如果您不知道变量的类型(在本例中为 game.LedSprite
),您可以通过将鼠标悬停在函数 createSprite
上找到它,请参见屏幕截图: