p5.j​​s |语法问题

时间:2017-06-05 20:47:43

标签: javascript processing p5.js

我制作了一个处理动画,但我不知道如何将其中的一部分转换为Javascript(我使用p5)。

这是我的实际代码:

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

2 个答案:

答案 0 :(得分: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基础知识,而不是试图一次翻译一行。

答案 1 :(得分:0)

只需将'float'更改为'function':

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

希望这有帮助!