问题描述
我正在尝试绘制具有随机笔触粗细的三角形。问题是,笔划粗细仅在新值大于旧值时才改变。这是我尝试过的。我不知道该重画还是刷新抽奖空间底部的显示。
void setup() {
size(600,800);
frameRate(7);
background(137,156,199);
} // Acaba void setup
void draw() {
// RANDOM WEIGHT TRIANGLE
noFill();
stroke(225,225,225);
strokeWeight(random(20)); // DOESN'T CHANGE PROPERLY
triangle(580,780,580,750,500,780);
}
解决方法
在draw()
方法的每个循环中图像都没有神奇地消失,这就是为什么您看不到三角形的线宽比以前低的原因。您需要重新粉刷所有内容,以免引起困扰。
这很好,因为它很容易做到。首先将background(137,156,199);
方法中的这一行draw()
移动到BGRA.linesize[0]
方法中。此后,图形应表现出预期的效果:
玩得开心!
, background
不仅设置背景颜色,而且实际上清除了背景。您必须清除每一帧的背景(在draw
中):
void draw(){
background(137,199);
// [...]
}