gpt4 book ai didi

javascript - 为什么我得到整数 NaN?

转载 作者:行者123 更新时间:2023-12-02 22:42:48 24 4
gpt4 key购买 nike

这是我的代码:

function setup() {
createCanvas(windowWidth, windowHeight);
noStroke();
}

var momentum = [0, 0]; //x and y speed
var pos = [650, 300]; //player x and y
var enemiesX = []; //enemies x's
var enemiesY = []; //enemies y's

function draw() {
background(200);
momentum[0] = (pos[0] - mouseX) / 5;
pos[0] =+ momentum;
fill(115);
ellipse(pos[0], pos[1], 30, 30);
text(pos[0] + ", " + pos[1], 20, 20);
}

我正在使用数组来压缩配对的相似 x 和 y。我正在使用文本函数进行测试,我意识到每个数组的第一个是NaN。我知道是这样的:

  momentum[0] = (pos[0] - mouseX) / 5;
pos[0] =+ momentum;

但是出了什么问题呢?

此外,在人们用垃圾邮件标记说它是重复的之前,这种简单性意味着没有其他此类性质的问题有相关的答案。

最佳答案

您的代码有两个问题。首先是您使用的是 =+ 而不是 +=。第二个是动量是一个数组,而不是一个数字。这就是您的代码现在在突出显示的两行中所做的事情:

  • 评估(pos[0] - mouseX)/5
  • 将该值保存在动量数组的 0 位置。
  • 评估+动量
  • 将该值保存在 pos 数组的 0 位置。

在第三个要点中,+momentum 的计算结果为 NaN。然后将该值保存在 pos 数组中。两行中的第一行很好。我认为您想要做的是将 momentum[0] 添加到 pos[0],可以这样做:

  pos[0] += momentum[0];

我不确定您的意图,但我的猜测是您想让圆圈靠近光标,而不是远离它。在这种情况下,你的动量符号是错误的,它应该是这样的:

  momentum[0] = (mouseX - pos[0]) / 5;
pos[0] += momentum[0];

关于javascript - 为什么我得到整数 NaN?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58533637/

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