processing/processing4

PShape setFill(indx, color) not working in Processing 4

Open

#900 建立於 2025年1月6日

在 GitHub 查看
 (8 留言) (0 反應) (0 負責人)Java (176 fork)auto 404
bughelp wanted

倉庫指標

Star
 (439 star)
PR 合併指標
 (PR 指標待抓取)

描述

Most appropriate sub-area of Processing 4?

OpenGL

Processing version

4.3

Operating system

MacOSX

Steps to reproduce this

"1. The source code below demonstrates the problem. The PShape should change color when the mouse is clicked.

  1. The source code runs correctly in versions 2.2.1 (macos) and 3.5.4 (reported by another forum member running Windows) indicating a runtime code change prior to version 4.

  2. There is a similar report from a year ago: https://github.com/processing/processing4/issues/677"

  3. We would like to change the vertex colors of the original PShape object without having to create a second object.

snippet


PShape t;

void setup() {
  size(400, 400, P2D);
  surface.setTitle("Should change color when mouse clicked.");
  t = createShape();
  t.beginShape();
  t.vertex(200, 100);
  t.vertex(100, 300);
  t.vertex(300, 300);
  t.endShape(CLOSE);
  for (int i = 0; i < t.getVertexCount(); i++) {
    t.setFill(i, color(random(255), random(255), random(255)));
  }
}

void draw() {
  background(209);
  shape(t);
}

void mousePressed() {
  for (int i = 0; i < t.getVertexCount(); i++) {
    t.getVertex(i);
    t.setFill(i, color(random(255), random(255), random(255)));
  }
}

Additional context

No response

貢獻者指南