p5.js 无法读取数组的随机值
p5.js cannot read random values of arrays
您好!
我试图在 p5.js 中做一些事情,程序在尝试获取数组的随机值时卡住了。这是我制作的一个简单程序来演示:
var arr = [100, 200];
var a;
function setup() {
createCanvas(400, 400);
a = random(0, 1);
}
function draw() {
background(220);
ellipse(arr[a], 20, 20, 20);
}
程序 returns 一条消息说椭圆函数想要一个数字,但得到了一个变量。如果说 arr[0]
或 arr[1]
有效,但 arr[a]
.
无效
我正在使用 p5.js 网络编辑器。我不知道为什么会这样。如果您有解决方案,请回复。谢谢!
有一种更简单的方法可以使用 P5.js 获取数组的随机元素。
a = random(arr);
将 return 数组中的随机元素。
根据 documentation,random()
函数将:
Return a random floating-point number.
这意味着它可能类似于 0.123,这显然 不是 数组索引。
如果你想从数组中随机索引,你应该这样做:
var arr = [100, 200];
var a = Math.round(random(0, arr.length));
这使您能够向源数组添加更多项,而无需调整任何其他代码。然后根据浮点值将其四舍五入为最接近的整数(向上或向下)。
P5.js 随机 returns 随机浮点数。 Documentation
工作演示:
var arr = [100, 200];
var a;
function setup() {
createCanvas(400, 400);
a = Math.floor(Math.random()*arr.length)
}
function draw() {
background(220);
ellipse(arr[a], 20, 20, 20);
}
<script src="https://cdn.jsdelivr.net/npm/p5@0.10.2/lib/p5.js"></script>
您好!
我试图在 p5.js 中做一些事情,程序在尝试获取数组的随机值时卡住了。这是我制作的一个简单程序来演示:
var arr = [100, 200];
var a;
function setup() {
createCanvas(400, 400);
a = random(0, 1);
}
function draw() {
background(220);
ellipse(arr[a], 20, 20, 20);
}
程序 returns 一条消息说椭圆函数想要一个数字,但得到了一个变量。如果说 arr[0]
或 arr[1]
有效,但 arr[a]
.
我正在使用 p5.js 网络编辑器。我不知道为什么会这样。如果您有解决方案,请回复。谢谢!
有一种更简单的方法可以使用 P5.js 获取数组的随机元素。
a = random(arr);
将 return 数组中的随机元素。
根据 documentation,random()
函数将:
Return a random floating-point number.
这意味着它可能类似于 0.123,这显然 不是 数组索引。
如果你想从数组中随机索引,你应该这样做:
var arr = [100, 200];
var a = Math.round(random(0, arr.length));
这使您能够向源数组添加更多项,而无需调整任何其他代码。然后根据浮点值将其四舍五入为最接近的整数(向上或向下)。
P5.js 随机 returns 随机浮点数。 Documentation
工作演示:
var arr = [100, 200];
var a;
function setup() {
createCanvas(400, 400);
a = Math.floor(Math.random()*arr.length)
}
function draw() {
background(220);
ellipse(arr[a], 20, 20, 20);
}
<script src="https://cdn.jsdelivr.net/npm/p5@0.10.2/lib/p5.js"></script>