将数组传递给函数

时间:2018-02-20 01:01:04

标签: processing

在处理中,假设我有一个数组:

int[] rgb = {floor(random(0,255)), floor(random(0,255)), floor(random(0,255)};

因此,这将创建一个数组,其中[0],[1]和[2]对应红色,绿色。和蓝色值。

现在让我们说我想传递fill()函数,它需要3个整数 - 红色,绿色和蓝色。我可以放fill(rgb[0], rgb[1], rgb[2]);,但这似乎不是最有效的方法。我想要的是能够将这样的内容传递给fill()

fill(rgb[0,1,2]);它将与fill(rgb[0], rgb[1], rgb[2]);做同样的事情,但写作会少得多。感谢帮助。

2 个答案:

答案 0 :(得分:1)

我从未使用过处理,但您可以overload fill方法获取数组。

void fill(int[] rgb)
{
    fill(rgb[0], rgb[1], rgb[2]);
};

然后您可以轻松地调用...

int[] rgb = {floor(random(0,255)), floor(random(0,255)), floor(random(0,255)};
fill(rgb);

this article中有一个名为“参数太多”的部分,我认为它会有所帮助。

答案 1 :(得分:1)

不是将字段存储在数组中,而是将它们存储在对象中。

处理具有您可以使用的color数据类型。 color()函数接受三个参数,然后您可以将单个color值传递给fill()函数。像这样:

color myColor = color(random(256), random(256), random(256));
fill(myColor);

你也可以create your own class使用它。