Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/npm/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Colors 当我给它一个常量值时,为什么alpha值会改变?_Colors_P5.js - Fatal编程技术网

Colors 当我给它一个常量值时,为什么alpha值会改变?

Colors 当我给它一个常量值时,为什么alpha值会改变?,colors,p5.js,Colors,P5.js,我正在使用p5.js Web编辑器 var sketch=函数(p){ 与(p){ p、 设置=函数(){ createCanvas(400400); secCanvas=createGraphics(400400); secCanvas.clear(); 反式=0; 跌落尺寸=10; 太阳大小=50; 半径=10; }; p、 draw=函数(){ 背景(3,182,252,1); 图像(secCanvas,0,0) secCanvas.fill(255、162、0、1) secCanvas

我正在使用p5.js Web编辑器

var sketch=函数(p){
与(p){
p、 设置=函数(){
createCanvas(400400);
secCanvas=createGraphics(400400);
secCanvas.clear();
反式=0;
跌落尺寸=10;
太阳大小=50;
半径=10;
};
p、 draw=函数(){
背景(3,182,252,1);
图像(secCanvas,0,0)
secCanvas.fill(255、162、0、1)
secCanvas.ellipse(宽度/2,0+太阳大小,太阳大小)
填充(40,变速箱)
trans=随机(255);
椭圆(随机(鼠标+半径,鼠标-半径),随机(鼠标+半径,鼠标-半径),放置大小)
跌落尺寸=随机(50)
};
}
};
让节点=document.createElement('div');
window.document.getElementById('p5-container').appendChild(节点);
新p5(草图、节点)
正文{
背景色:#EFEF;
}

每个帧都绘制在所有前一帧的顶部,因此当您绘制半透明背景时,您仍然可以看到它下面的前一帧

把它想象成在你已经画过的东西上面加上一层很薄的油漆。因为您添加的颜色是半透明的,所以您仍然可以看到它下面的颜色。然后在下一帧中,添加另一层油漆,前一帧会变得更模糊


由于计算机根据以前的帧和新的半透明背景色计算新颜色的方式,它们不再变得更暗淡。长话短说,您正在绘制的颜色几乎是100%透明的,因此它不足以完全隐藏以前的帧。

每个帧都是在所有以前的帧之上绘制的,因此当您绘制半透明背景时,您仍然可以看到它下面的以前的帧

把它想象成在你已经画过的东西上面加上一层很薄的油漆。因为您添加的颜色是半透明的,所以您仍然可以看到它下面的颜色。然后在下一帧中,添加另一层油漆,前一帧会变得更模糊


由于计算机根据以前的帧和新的半透明背景色计算新颜色的方式,它们不再变得更暗淡。长话短说,您正在绘制的颜色几乎是100%透明的,因此它不足以完全隐藏以前的帧。

我想使用透明背景,有没有办法解决这个问题?@Dr.danks抱歉,我不确定我是否理解这个问题。您使用的是透明背景,这会导致您看到的行为。您能否更具体地说明您想要实现的行为?我希望透明背景具有恒定的透明度。@Dr.danks您的透明背景具有恒定的透明度,它绘制在前几帧的顶部,这会导致它们随着时间的推移而褪色。如果希望背景具有恒定的颜色,则可能不希望使用透明度。如果你想使用透明度作为一个过滤器,那么我会考虑画你的圆圈到另一个图形,然后画的背景(或矩形)在画布的顶部。我想使用一个透明的背景,这是有办法的吗?@丹尼克。对不起,我不确定我理解这个问题。您使用的是透明背景,这会导致您看到的行为。您能否更具体地说明您想要实现的行为?我希望透明背景具有恒定的透明度。@Dr.danks您的透明背景具有恒定的透明度,它绘制在前几帧的顶部,这会导致它们随着时间的推移而褪色。如果希望背景具有恒定的颜色,则可能不希望使用透明度。如果你想使用透明度作为一个过滤器,那么我会考虑绘制你的圆圈到另一个图形,然后绘制背景(或一个矩形)在画布的顶部。