You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

P5.js通过HTML运行时仅创建画布,draw函数无法执行求助

P5.js draw函数无法执行的排查与解决

核心问题出在你的samplesquares.js代码里的square()函数调用:你使用的P5.js 0.5.11版本不支持给square函数传入第四个圆角参数,这个错误会直接中断draw函数的执行,导致画布只显示setup阶段创建的初始状态。

修复方案

有两种方式可以解决这个问题:

  1. 移除圆角参数,使用基础square函数
    P5.js 0.5.11的square()函数仅接受3个参数:x坐标、y坐标、边长,修改后的调用代码如下:

    square(100, 80, 200);
    
  2. 改用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 06:45:27