2017-06-05 69 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; 
} 

希望这有助于!