如何解决在p5中将许多元素加在一起
我想一起制作一个文本框和一个下拉列表。当我运行代码时,它仅执行一个(该文本框或下拉菜单)
这是我的代码:
let button;
let sel;
let sel2;
var text;
var x = 10;
var y = 230;
var img;
function setup() {
createCanvas(windowWidth,600);
background(0);
img = loadImage("audi.jpg");
sel = createSelect();
sel.position(20,150);
sel.option('FERARI');
sel.option('MERCEDES');
sel.option('TOYOTA');
sel.option('AUDI');
sel.option('BMW');
sel2 = createSelect();
sel2.position(300,150);
sel2.option('FERARI');
sel2.option('MERCEDES');
sel2.option('TOYOTA');
sel2.option('AUDI');
sel2.option('BMW');
button = createButton('COMPARE');
button.position(550,150);
button.mousePressed(display);
text = createInput();
text.pos(300,300);
}
function display() {
textSize(16);
fill(255,215,0);
let index = sel.value();
text(index,20,430);
let number = sel2.value();
text(number,300,430);
if(sel.value() === 'BMW') {
text('MILEAGE: 14-20 km/l',460);
text('COST: 41.7-48.5 LAKH',490);
text('FUEL TYPE: PREMIUM FUEL',520);
}
if(sel.value() === 'AUDI') {
text('MILEAGE: 9 km/l',460);
text('COST: 1.345 CORE',490);
text('FUEL TYPE: PETROL',520);
}
if(sel.value() === 'FERARI') {
text('MILEAGE: 9 km/l',460);
text('COST: 3.5 CORE',520);
}
if(sel.value() === 'MERCEDES BENZ C CLASS') {
text('MILEAGE: 10-19 km/l',460);
text('COST: 40.9 LAKHS',490);
text('FUEL TYPE: UNLEADED FUEL',520);
}
if(sel.value() === 'TOYOTA') {
text('MILEAGE: 7-10 km/l',460);
text('COST: 28.66-36.88 LAKH',490);
text('FUEL TYPE: MID GRADE GASOLINE',520);
}
if(sel2.value() === 'AUDI') {
text('MILEAGE: 9 km/l',520);
}
if(sel2.value() === 'BMW') {
text('MILEAGE: 14-20 km/l',460);
text('COST: 41.7-48.5 LAKH',520);
}
if(sel2.value() === 'TOYOTA') {
text('MILEAGE: 7-10 km/l',460);
text('COST: 28.66-36.88 LAKH',520);
}
if(sel2.value() === 'FERARI') {
text('MILEAGE: 9 km/l',460);
text('COST: 3.5 CORE',520);
}
if(sel2.value() === 'MERCEDES BENZ C CLASS') {
text('MILEAGE: 10-19 km/l',460);
text('COST: 40.9 LAKHS',520);
}
}
(不要嘲笑设计。) 当我进行一些安排时,有时会出现文本框,当我单击“比较”按钮时,什么也没有发生。
请提前帮助和thnx。
解决方法
您的代码中有两个问题。
-
您有一个名为
var text
的变量。因为p5.js已经在函数中使用该名称,所以您必须将其重命名为var textBox
之类的名称。 (不要忘记也更改您的setup()
中的行) -
textBox.pos()
无效。将其更改为textBox.position()
;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。