p5.js |语法问题
问题描述:
我做了一个处理动画,但我不知道如何将其中的一部分转换成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;
}
答
您不用通过逐行翻译来转换代码。你通过理解它所做的事情来翻译代码,然后弄清楚如何用你的目标语言做到这一点。
但是就看你的功能:
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基础知识,而不是试图一次翻译一行内容。
答
只要改变 '浮动' 到 '功能':
function x1 (t) {
return sin(t/10) * 35 + sin(t/5) * 20;
}
希望这有助于!