我制作了一个处理动画,但我不知道如何将其中的一部分转换为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;
}
答案 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;
}
希望这有帮助!