Javascript 从类(p5.js)内部切换按钮状态

Javascript 从类(p5.js)内部切换按钮状态,javascript,processing,p5.js,Javascript,Processing,P5.js,我需要构建自己的开关/按钮,该开关/按钮具有打开或关闭状态,并且我希望它作为一个对象,这样我就可以制作许多。但是draw()/常量循环使设置状态变得困难。我做错了什么 让我们; 函数设置(){ createCanvas(400400); 背景(“灰色”); s=新开关(100100); } 函数绘图(){ s、 draw(); } 功能鼠标按下(状态){ 如果(状态===false){ 返回true; }else if(状态===true){ 返回false; } } 类开关{ 构造函数(

我需要构建自己的开关/按钮,该开关/按钮具有打开或关闭状态,并且我希望它作为一个对象,这样我就可以制作许多。但是draw()/常量循环使设置状态变得困难。我做错了什么

让我们;
函数设置(){
createCanvas(400400);
背景(“灰色”);
s=新开关(100100);
}
函数绘图(){
s、 draw();
}
功能鼠标按下(状态){
如果(状态===false){
返回true;
}else if(状态===true){
返回false;
}  
}
类开关{
构造函数(x,y){
this.status=true;
this.statuscolor='黑色';
this.pos=createVector(x,y);
该尺寸=100;
}
相交(){

如果((mouseX>=this.pos.x&&mouseX=this.pos.y&&mouseY您使用了错误的方法。这是一个事件回调。它由系统调用。永远不要直接调用它。当按下鼠标时,会调用事件回调函数
mousPressed()

将方法添加到类
开关
,该开关会翻转按钮:

类开关{
// [...]
开关状态(){
if(this.intersect()){
this.status=!this.status;
this.statuscolor=this.status?'black':'green';
}
}
// [...]
}
将鼠标回调委托给此方法:

功能鼠标按下(状态){
s、 开关状态();
}
请参见示例:

让我们;
函数设置(){
createCanvas(400400);
背景(“灰色”);
s=新开关(100100);
}
函数绘图(){
s、 draw();
}
功能鼠标按下(状态){
s、 开关状态();
}
类开关{
构造函数(x,y){
this.status=true;
this.statuscolor='黑色';
this.pos=createVector(x,y);
该尺寸=100;
}
相交(){

return mouseX>=this.pos.x&&mouseX=this.pos.y&&mouseY完美-感谢您花时间解释!