javascript 我怎样才能使用相同的随机背景颜色来填充矩形在P5js

68de4m5k  于 2022-12-25  发布在  Java
关注(0)|答案(1)|浏览(144)

我想在P5js中做一些事情。为此,我需要从一个数组中随机选择一种颜色作为背景,该数组必须在setup中。然后我想选择这个随机选择的背景颜色来填充绘图函数下的矩形。
背景下还有其他随机形状需要运行一次,矩形下还有一个对象需要循环,这就是为什么一个在setup中,另一个在draw函数中,但是,我将把问题简化为:

function setup() {
  createCanvas(400, 400);
  colorsPaletteSecond = [color(0, 0, 0),
                         color(160, 57, 164),
                         color(93, 94, 198),
                         color(135, 198, 112), ];            
  let screenColor = random(colorsPaletteSecond);
  background(screenColor);
}

function draw() {
  stroke(0)
  fill(screenColor);
  rect(200,200,100,100);
}

我还需要在draw部分定义screenColor,以获得与背景相同的颜色。

olmpazwi

olmpazwi1#

只需将let screenColor移到共享作用域,以便可以从两个函数访问它:

let screenColor;

function setup() {
  createCanvas(400, 400);
  const colorsPaletteSecond = [
    color(0, 0, 0),
    color(160, 57, 164),
    color(93, 94, 198),
    color(135, 198, 112),
  ];
  screenColor = random(colorsPaletteSecond);
  background(screenColor);
}

function draw() {
  stroke(0);
  fill(screenColor);
  rect(200, 200, 100, 100);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.5.0/p5.js"></script>

相关问题