P5.js通过HTML运行时仅创建画布,draw函数无法执行求助
P5.js draw函数无法执行的排查与解决
核心问题出在你的samplesquares.js代码里的square()函数调用:你使用的P5.js 0.5.11版本不支持给square函数传入第四个圆角参数,这个错误会直接中断draw函数的执行,导致画布只显示setup阶段创建的初始状态。
修复方案
有两种方式可以解决这个问题:
移除圆角参数,使用基础square函数
P5.js 0.5.11的square()函数仅接受3个参数:x坐标、y坐标、边长,修改后的调用代码如下:square(100, 80, 200);改用rect函数实现圆角效果
如果需要保留圆角矩形的效果,该版本的rect()函数支持传入圆角参数(第五个参数),注意rect的参数顺序是x坐标、y坐标、宽度、高度、圆角半径,对应你的需求修改为:rect(100, 80, 200, 200, 80);
修正后的完整samplesquares.js代码
function setup() { createCanvas(400, 400); } function draw() { var randm = 0, color1 = 0; background(220); randm = random(); if (randm < 0.33){ color1= color(0, 114, 206); }else if (randm < 0.66){ color1= color(240, 84, 84); }else{ color1= color(48, 71, 94); } fill(color1); // 这里使用修复后的square或rect调用 square(100, 80, 200); // 如果需要圆角则替换为:rect(100, 80, 200, 200, 80); }
修改完成后,通过Web Server for Chrome打开index.html,draw函数会正常循环执行,画布会不断刷新并随机切换正方形的颜色。
内容的提问来源于stack exchange,提问作者Mitch P
相关产品推荐
相关产品推荐

