2017-06-05 99 views
0

我做了一個處理動畫,但我不知道如何將其中的一部分轉換成Javascript(我使用p5)。p5.js |語法問題

這裏是我的實際代碼:

var NUM_LINES = 10; 
var j; 
var t; 

function setup() { 
    createCanvas(200,200); 
    background(20); 
} 

function draw() { 
    background(255); 
    strokeWeight(1); 

    translate(width/2, height/2); 

    for (var i = 0; i < NUM_LINES; i++) { 
     stroke(60, 60, 60); 
     line(x1(t + i), y1(t + i), x2(t + i), y2(t + i)); 
    } 

    t += 0.5; 
} 

float x1(float t){ 
    return sin(t/10) * 35 + sin(t/5) * 20; 
} 

float y1(float t){ 
    return cos(t/10) * 35; 
} 

float x2(float t){ 
    return sin(t/10) * 70 + sin(t) * 2; 
} 

float y2(float t){ 
    return cos(t/20) * 70 + cos(t/12) * 20 ; 
} 
} 

你知道如何將這種代碼轉換之下成JavaScript?

float x1(float t){ 
    return sin(t/10) * 35 + sin(t/5) * 20; 
} 

回答

1

您不用通過逐行翻譯來轉換代碼。你通過理解它所做的事情來翻譯代碼,然後弄清楚如何用你的目標語言做到這一點。

但是就看你的功能:

float x1(float t){ 
    return sin(t/10) * 35 + sin(t/5) * 20; 
} 

這定義了一個名爲x1函數,它接受一個名爲t參數,然後做一些事情,應該是幾乎每一種語言相同。因此,它可能是這樣的:

function x1(t){ 
    return sin(t/10) * 35 + sin(t/5) * 20; 
} 

注意,有多種方法可以做到這一點,所以你也可以做這樣的事情:

var x1 = function(t){ 
    return sin(t/10) * 35 + sin(t/5) * 20; 
} 

你真的應該退後一步,並學習一些JavaScript基礎知識,而不是試圖一次翻譯一行內容。

0

只要改變 '浮動' 到 '功能':

function x1 (t) { 
    return sin(t/10) * 35 + sin(t/5) * 20; 
} 

希望這有助於!