簡體   English   中英

P5.js object 不留痕跡

[英]P5.js object not leaving a trail

我有一個項目,我正在嘗試制作螺旋效果,兩個橢圓圍繞彼此旋轉,它們留下一條不斷向下然后消失的軌跡。 現在的問題是,我無法顯示蹤跡。 我按照編碼火車的教程進行了跟蹤,雖然它對他有用,但對我不起作用。 我做的與他不同的一件事是他使用類來處理他的球,而我沒有。

我的跟蹤代碼是這樣的。 它接收我創建的一個名為 history 的數組,其中包含一個包含 x 和 y 位置的 2d 向量,它應該每幀都制作一個橢圓的副本,但它只是制作一個新的橢圓並擦除最后一個橢圓。

function makeTrail(){
    history.push(pos1);
    for (var i = 0; i < history.length; i++){
        let p = history[i];
        ellipse(p.x, p.y, 8, 8);
    }
 }

如果有幫助,這是我的抽獎 function。 其中大部分只是我想要繪制球的位置的代碼。 MoveBall函數只是告訴程序如何處理球。

function draw(){
    pos1.y += -1;
    pos2.y += -1;
    let rs = 30/*random(10, 30)*/;
    fill('#f42069');
    ellipse(pos1.x, pos1.y, rs, rs);
    moveBall();
    fill('#b4da22');
    ellipse(pos2.x, pos2.y, rs, rs);
    moveBall2();
    makeTrail();
}

問題是您將pos1推入history ,而您應該推pos1.copy() 當您推送向量本身時,列表中的值會隨着pos1的值而變化。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM