gpt4 book ai didi

javascript - 访问不断变化的变量将不起作用(Johnny-Five 操纵杆)

转载 作者:行者123 更新时间:2023-11-28 03:19:01 26 4
gpt4 key购买 nike

我正在开发一款带有操纵杆的 Arduino 游戏。我有 4 个 LED 灯,每 2 秒,其中 1 个会亮起。使用操纵杆时,您必须尽快使用react才能关闭 LED 灯。例如,如果左侧 LED 亮起,您必须向左操作操纵杆才能将其关闭。

这是我的操纵杆的代码:

var joystick = new five.Joystick({
pins: ["A0", "A1"],
});

joystick.on("change", function() {
let x = this.x;
let y = this.y
});

因此每次操纵杆的位置发生变化时,let xlet y 都会得到更新。

现在我将向您展示该函数的代码。该功能每 2 秒重新启动一次。问题是我需要操纵杆上的 let xlet y 才能使该功能正常工作,但我不知道如何访问它们。

const playGame = () => {
setInterval(() => {
console.log(x, y);
}, 2000);
};

console.log(x, y) 结果为未定义

最佳答案

您需要在更改事件之外定义 x 和 y,以便可以访问它

let x, y
var joystick = new five.Joystick({
pins: ["A0", "A1"],
});

joystick.on("change", function() {
x = this.x;
y = this.y
});
const playGame = () => {
setInterval(() => {
console.log(x, y);
}, 2000);
};

这是为了修复您的示例,但还有一种更多的 J5 方式(取自文档

let x, y
var joystick = new five.Joystick({
pins: ["A0", "A1"],
freq: 100 // this limit the joystick sample rate tweak to your needs
});


joystick.on("change", function() { // only fire as the sample rate freq
x = this.x;
y = this.y
});

关于javascript - 访问不断变化的变量将不起作用(Johnny-Five 操纵杆),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59364740/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com