#processing
#обработка
Вопрос:
Я создаю прямоугольники на доске для рисования с помощью processing, но я хочу сделать их невидимыми. Как мне это сделать? Я был бы признателен за вашу помощь.
Амрита
Ответ №1:
Вы можете либо не рисовать их, либо использовать четвертый параметр (альфа / прозрачность) для функции заливки
не рисование:
int numVisible = 0;
for(int i = 0 ; i < 20 ; i ) {
boolean visible = random(1) > .5;
if(visible) {
rect(random(100),random(100),random(10),random(10));
numVisible ;
}
}
println(numVisible " boxes are visible");
рисование прозрачным (видны только штрихи):
for(int i = 0 ; i < 20 ; i ) {
boolean visible = random(1) > .5;
fill(255,255,255,visible ? 255 : 0);
rect(random(100),random(100),random(10),random(10));
}
Если это поможет, вот более длинная версия того же:
void setup(){
size(400,400,P2D);
smooth();
noStroke();
background(255);
for(int i = 0; i < 200 ; i ){
Rect r = new Rect(random(width),random(height),random(10,20),random(10,20),color(random(255),random(255),random(255),random(1) > .5 ? 255 : 64));
r.draw();
}
}
class Rect{
color c;
float w,h,x,y;
Rect(float x,float y,float w,float h,color c){
this.c = c;
this.w = w;
this.h = h;
this.x = x;
this.y = y;
}
void draw(){
fill(c);
rect(x,y,w,h);
}
}
Ниже приведен фрагмент, который вы можете запустить:
function setup(){
createCanvas(400,400);
smooth();
noStroke();
background(255);
for(var i = 0; i < 200 ; i ){
var r = new Rect(random(width),random(height),random(10,20),random(10,20),color(random(255),random(255),random(255),random(1) > .5 ? 255 : 64));
r.draw();
}
}
function Rect(x,y,w,h,c){
this.c = c;
this.w = w;
this.h = h;
this.x = x;
this.y = y;
this.draw = function(){
fill(c);
rect(x,y,w,h);
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.4.4/p5.min.js"></script>
Ответ №2:
Вы могли бы поместить в функцию рисования переменную, чтобы контролировать, должна ли она отображать то, что вы хотите.
void draw()
{
if (showThis)
{
image(image);
}
}
Ответ №3:
Добавьте noStroke(); и сделайте цвет таким же, как цвет фона?
Комментарии:
1. не делайте предположений (добавляя ‘?’ в конце ответа)