这是我对这个问题的第二次尝试,希望我可以对我的问题更清楚一些。我有一个初始的p5.js设置:
// Setup empty array (I beleive 'position' this is in the global scope?)
let position = []
//p5 setup
function setup(){
createCanvas(400,400)
// Simple for loop to create an array of floating random numbers between 5 and 10 using the p5.js random function
for(let i = 0; i < 10 ; i++){
let x = random(5,10)
position.push(x)
}
}
function draw(){
background(100)
text(`This is the implementation of random ${random(5,10)`,10,10)
}
// Loging position unless I am mistaken, does NOT show the array
console.log(position)
// But trying to access an specific value within the array gives an 'undefined'
console.log(position[1])
// Undefined
我如何访问个人值?
let position = []
function setup() {
createCanvas(400, 400);
for (let i = 0; i < 10; i++) {
let x = random(5, 10)
position.push(x)
}
}
console.log(`The position array is ${position}`)
console.log(`The length of the position array is ${position.length}`)
console.log(`The second value in the position array is ${position[1]}`)
function draw() {
background(200)
text(`This is the implementation of random ${random(5,10)}`,10,10)
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.16/p5.js"></script>
答案 0 :(得分:0)
请理解代码执行的顺序。考虑一下这个基本的例子:
console.log('one');
function setup(){
console.log('two');
}
function draw(){
console.log('three');
}
加载代码后,会发生这种情况:
console.log()
语句并打印'one'
。setup()
功能已定义但尚未运行。draw()
功能已定义但尚未运行。setup()
和draw()
函数。现在考虑这个例子,它更接近你所拥有的:
function setup(){
console.log('two');
}
console.log('one');
function draw(){
console.log('three');
}
运行此代码时,会发生以下情况:
setup()
功能已定义但尚未运行。console.log('one')
语句并打印'one'
。draw()
功能已定义但尚未运行。setup()
和draw()
函数。换句话说,在函数外部运行的代码在P5.js库自动调用这些函数之前运行。在您的情况下,您正在运行访问数组的代码,然后再添加任何内容。
要解决此问题,请在setup()
功能中移动代码。这就是它的全部意义。