Javascript p5 无法在两点之间画线
Javascript p5 Unable to draw line between two points
在javascript中,使用p5,我想在两点之间画一条线,用鼠标设置。我正在使用一个数组来存储鼠标位置,然后画线。但是,当我在控制台中记录数组时,我得到了一个奇怪的输出。
“空 x 2”是什么意思?
这是我的代码:
function mouseClicked(){
pointSize = slider.value();
stroke(color_picker.value());
strokeWeight(pointSize);
point(mouseX, mouseY);
if(selection === "line"){
line_points.push(mouseX, mouseY);
console.log(line_points);
console.log(line_points.length);
if(line_points.length = 4){
line(line_points[0],line_points[1],line_points[2],line_points[3]);
line_points = [];
}
}
}
代码中的主要问题是条件
if(line_points.length = 4)
应该是
if(line_points.length ==== 4)
因为我们要将长度与 4 进行比较。原始代码将数组的长度设置为 4,这会在数组中留下一些空位置,从而在将数组输出到控制台时产生空插槽消息。
function setup(){
const cnv = createCanvas(200, 200);
}
var line_points = [];
function draw(){
}
function mouseClicked(){
stroke(0);
point(mouseX, mouseY);
line_points.push(mouseX, mouseY);
console.log(line_points);
console.log(line_points.length);
if(line_points.length === 4){
line(line_points[0],line_points[1],line_points[2],line_points[3]);
line_points = [];
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.8.0/p5.min.js"></script>
在javascript中,使用p5,我想在两点之间画一条线,用鼠标设置。我正在使用一个数组来存储鼠标位置,然后画线。但是,当我在控制台中记录数组时,我得到了一个奇怪的输出。
“空 x 2”是什么意思? 这是我的代码:
function mouseClicked(){
pointSize = slider.value();
stroke(color_picker.value());
strokeWeight(pointSize);
point(mouseX, mouseY);
if(selection === "line"){
line_points.push(mouseX, mouseY);
console.log(line_points);
console.log(line_points.length);
if(line_points.length = 4){
line(line_points[0],line_points[1],line_points[2],line_points[3]);
line_points = [];
}
}
}
代码中的主要问题是条件
if(line_points.length = 4)
应该是
if(line_points.length ==== 4)
因为我们要将长度与 4 进行比较。原始代码将数组的长度设置为 4,这会在数组中留下一些空位置,从而在将数组输出到控制台时产生空插槽消息。
function setup(){
const cnv = createCanvas(200, 200);
}
var line_points = [];
function draw(){
}
function mouseClicked(){
stroke(0);
point(mouseX, mouseY);
line_points.push(mouseX, mouseY);
console.log(line_points);
console.log(line_points.length);
if(line_points.length === 4){
line(line_points[0],line_points[1],line_points[2],line_points[3]);
line_points = [];
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.8.0/p5.min.js"></script>