亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我得到 NaN 整數?

為什么我得到 NaN 整數?

慕少森 2021-12-02 10:27:21
這是我的代碼:function setup() {  createCanvas(windowWidth, windowHeight);  noStroke();}var momentum = [0, 0]; //x and y speedvar pos = [650, 300]; //player x and yvar enemiesX = []; //enemies x'svar enemiesY = []; //enemies y'sfunction 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 配對。我正在使用 text 函數進行測試,我意識到每個數組中的第一個是 NaN。我知道它是這樣的:  momentum[0] = (pos[0] - mouseX) / 5;  pos[0] =+ momentum;但有什么問題嗎?此外,在人們用垃圾郵件說它是重復的標志之前,簡單意味著沒有其他這種性質的問題有相關的答案。
查看完整描述

3 回答

?
手掌心

TA貢獻1942條經驗 獲得超3個贊

在哪里mouseX定義?它是undefined,任何數字加undefined將等于零。

另外,=+不一樣+=,會導致進一步的問題


查看完整回答
反對 回復 2021-12-02
?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

使用parsetInt以避免NaN并添加進一步檢查NaN


   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);

    mouseX = parseInt(mouseX);

    if(mouseX === NaN){

        alert('Not a number exception');

    }

    else{

        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);

    }

}


查看完整回答
反對 回復 2021-12-02
?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

您的代碼有兩個問題。第一個是您正在使用=+而不是+=. 第二個是它momentum是一個數組,而不是一個數字。這就是您的代碼在您突出顯示的兩行中正在執行的操作:

  • 評估 (pos[0] - mouseX) / 5

  • 將該值保存在momentum數組的 0 位置。

  • 評估 +momentum

  • 將該值保存在pos數組的 0 位置。

在第三點,什么情況是,+momentum計算結果為NaN。然后你將該值保存在pos數組中。兩行中的第一行沒問題。我認為你想要做的是添加momentum[0]pos[0],這可以像這樣完成:

  pos[0] += momentum[0];

我不確定您的意圖,但我的猜測是您想讓圓圈朝向光標,而不是遠離光標。在那種情況下,你的動量符號是錯誤的,應該是這樣的:

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


查看完整回答
反對 回復 2021-12-02
  • 3 回答
  • 0 關注
  • 188 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號