Colors 在绘制形状后,如何更改形状的轮廓颜色(笔划)?
我第一次在Processing中编写代码(以前熟悉Java),我尝试创建一个三角形网格,当我单击其中一个时,它会将填充和笔划更改为不同的颜色。填充正在更改,但笔划仍为默认颜色。这是我的密码:Colors 在绘制形状后,如何更改形状的轮廓颜色(笔划)?,colors,processing,stroke,Colors,Processing,Stroke,我第一次在Processing中编写代码(以前熟悉Java),我尝试创建一个三角形网格,当我单击其中一个时,它会将填充和笔划更改为不同的颜色。填充正在更改,但笔划仍为默认颜色。这是我的密码: void setup() { size(800, 600); // size of canvas triangles = new ArrayList<TriangleClass>(); // Create an empty ArrayList int L = 50; // len
void setup() {
size(800, 600); // size of canvas
triangles = new ArrayList<TriangleClass>(); // Create an empty ArrayList
int L = 50; // length of triangle side
double halfStep = L * Math.sqrt(3);
// all the code about making the grid
}
void draw() {
background(0);
TriangleClass myCurrentTriangle;
for (int i = 0; i < triangles.size(); i++) {
// get object from ArrayList
myCurrentTriangle = triangles.get(i);
myCurrentTriangle.display();
}
}
void mouseClicked () {
TriangleClass myCurrentTriangle ;
for (int i=0; i < triangles.size(); i++) {
// get object from ArrayList
myCurrentTriangle = triangles.get(i);
myCurrentTriangle.mouseOver();
}
}
class TriangleClass {
double x1, y1, x2, y2, x3, y3; // points
color fill; // fill color
color stroke; // stroke color
float mouseSensorX, mouseSensorY;// check point for dist to mouse
// constructor
TriangleClass(
// ...
stroke = color(174, 208, 234);
fill = color(249, 249, 249);
mouseSensorX = (float) (x1+x2+x3 )/ 3;
mouseSensorY = (float) (y1+y2+y3 )/ 3;
}
void mouseOver() {
if (dist(mouseX, mouseY, mouseSensorX, mouseSensorY) < 17) {
if (fill == color(249, 249, 249)) {
stroke = color(251, 84, 84);
fill = color(251,84,84);
// ... repeated for other colors
}
}
void display() {
// show triangle
stroke(stroke);
fill(fill);
triangle((float) x1, (float) y1, (float) x2, (float) y2, (float) x3, (float) y3);
}
}
// =====================================================================
void setup(){
大小(800600);//画布的大小
三角形=新建ArrayList();//创建一个空ArrayList
int L=50;//三角形边的长度
双半步=L*数学sqrt(3);
//所有关于制作网格的代码
}
作废提款(){
背景(0);
三角形类MyCurrent三角形;
对于(int i=0;i
我认为问题在于冲程重量。您只需在设置功能的末尾添加以下代码即可:
strokeWeight(3);
数字越大,轮廓就越大。你能提供完整的代码吗?@MorganS42完成!实际上,似乎仍然有一些代码缺失,很难看出哪里出了问题,你能发送完整的代码吗?缺失的只是关于绘制网格的内容-我无法添加,因为它太复杂了艾德:代码lmao@MorganOk太多了,这是公平的。但我能得到你收到的确切错误消息吗?或者没有错误消息,只是没有改变?没问题,你能把答案标记为正确吗?理查德,如果这个答案对你有帮助,请勾选投票按钮附近的复选标记。这两个选项都给出了答案向编写该线程的成员提出假设,并向其他正在寻找答案的人发出信号,说明该线程有解决方案。@Morgan gotcha!