我有两个来自音频源的值(0 到 255 之间)。我试图显示两种不同的 RGB 颜色,一个被中间分割的矩形,这两个变化数字的颜色,颜色随着数字而变化。
谢谢你的帮助,我知道这很简单,但我真的卡住了。
祝你今天过得愉快。
我有两个来自音频源的值(0 到 255 之间)。我试图显示两种不同的 RGB 颜色,一个被中间分割的矩形,这两个变化数字的颜色,颜色随着数字而变化。
谢谢你的帮助,我知道这很简单,但我真的卡住了。
祝你今天过得愉快。
为了显示“分割矩形”,我建议panel
并排使用两个对象。
您可以使用(或)消息后跟四个数字的列表来控制panel
对象的颜色,例如:bgcolor
bgfillcolor
bgcolor 1 0 0 0.5
这些数字对应于红色、绿色、蓝色和 Alpha(不透明度),并且都在 0-1 的范围内。因此bgcolor 1 0 0 0.5
将设置颜色为panel
100% 红色和 50% 透明。
在您的情况下,您的值是 0–255,因此您需要将它们缩小到 0–1,然后决定要如何精确地映射它们。例如,如果您希望每个panel
值为 255 时为白色,为 0 时为黑色,以及介于两者之间的灰色阴影,您可以执行以下操作:
value → [scale 0 255 0. 1.] → (bgcolor $1 $1 $1 1) → [panel]
一些注意事项:
的最后两个参数scale
必须是浮点数,否则只会输出整数 0 和 1。
消息框的$1
语法被输入替换。例如,您可以决定只控制颜色的绿色部分:bgcolor 0 $1 0 1
.
如果您的值变化非常频繁,您可能希望限制它更新颜色的频率。大多数屏幕的更新速度不会超过每秒 60 次,因此例如每毫秒更改颜色是一种资源浪费。如果您snapshot~
用于从音频中获取值,则可以使用17
或更高的参数,将值限制为每秒少于 60 次(1000ms / 60 = 16.6…)。或者,您可以使用该speedlim
对象来限制重新计算颜色的频率。