我目前正在尝试创建一个微:位中的蛇。但有一个问题是,当我使用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();
}
});发布于 2021-11-10 17:07:15
您可以在函数外部声明变量,使其成为全局变量。如果从一个空的全局变量开始,则必须在:后面添加变量的类型
let apple : game.LedSprite
function createApple() {
apple = game.createSprite(randint(0, 5), randint(0, 5));
}如果您不知道变量的类型(在本例中为game.LedSprite),可以通过将鼠标悬停在函数createSprite上找到它,请参见屏幕截图:

https://stackoverflow.com/questions/69916967
复制相似问题