为p5.js/ Javascript中的对象分配数组中的颜色
Assigning colors in array to objects in p5.js/ Javascript
我试图将c[]颜色数组的每种颜色分配给我的六个Orb对象。我的循环只是把所有的颜色分配给所有的对象。如有任何帮助,不胜感激。
var orb = [];
var c = ["#C460E0",
"#F469A9",
"#69F5E7",
"#687DF2",
"#69F591",
"#F1Ea67"];
var col;
var num;
function setup() {
createCanvas(600, 600);
for (var i = 0; i < 6; i++)
orb[i] = new SoftOrb();
}
function draw() {
background(1);
for (var i = 0; i < orb.length; i++) {
orb[i].colour(); // <-----???!
orb[i].edges();
orb[i].display();
orb[i].move();
}
}
function SoftOrb() {
this.loc = createVector(random(width), random(height));
this.vel = createVector(0, 0);
this.col = col;
this.display = function() {
ellipse(this.loc.x, this.loc.y, 100, 100);
}
this.colour = function() {
noStroke();
for (var j = 0; j < c.length; j++) {
var index = c.indexOf(j);
fill(c[j]);
}
步骤1:修改语法。代码末尾缺少右花括号。希望这只是复制粘贴错误。但是要小心这些,因为它们会让你更难回答!
步骤2:您需要将c
数组的颜色传递给SoftOrb
构造函数。它可能看起来像这样:
function setup() {
createCanvas(600, 600);
for (var i = 0; i < 6; i++) {
orb[i] = new SoftOrb(c[i]);
}
}
步骤3:你需要修改你的SoftOrb
构造函数来实际接受颜色参数。
function SoftOrb(col) {
你已经完成了this.col = col;
的赋值,所以现在col
是特定SoftOrb
的特定颜色。
第4步:现在你只需要使用col
来设置颜色。
this.colour = function() {
noStroke();
fill(col);
}
请注意,您可以将其移动到display()
函数中,但这更像是个人偏好。
步骤5:修复后,您仍然会得到错误,因为edges()
和move()
函数不存在。在继续编码下一件事之前,先去掉它们来测试你的颜色是否有效。
相关文章:
- 如何发送分配列表<字符串>到JavaScript数组或可枚举对象
- 将数组的拼接分配给自身时,Javascript控制台打印不起作用
- 在将csv文件中的数据分配给数组变量时增强了d3代码
- 当数组在angularjs中没有可比较的值时,如何分配默认值
- 使用mysql为JSON php数组分配多个列值
- 处理对象数组并将它们以 4 个为一组进行分配
- 可以't分配给一个对象数组javascript
- Javascript原型通用Enquries和通过数组索引分配Id
- 通过程序将对象分配给数组
- 将随机整数分配给数组中的项,summa应该是一个固定的数字
- JavaScript's数组过滤器函数在没有分配函数的情况下使用-这里发生了什么
- 选择多个复选框并将值分配给数组 - HTML/Javascript
- 如何在 ng-repeat 中按键分配对象数组
- JS循环图像文件夹,预加载它们并分配给数组
- Javascript:分配给对象或数组原型会导致括号不起作用
- Java 脚本数组分配错误
- jQuery将值分配给数组,给出错误未定义的变量
- 如何拆分数组或分配键,jquery
- Dojo 解析器分配值数组而不是值
- 分配给多维数组 javascript