首页 > 解决方案 > 谁能告诉我为什么我收到错误'无法读取未定义的属性'值''?P5.JS

问题描述

我正在编写一个使用构造函数的绘图应用程序,我的代码是尝试让六边形显示为绘图工具。我的问题是当我试图将它链接到另一个构造函数时,它给了我错误

    Hexagon.js:27 Uncaught TypeError: Cannot read property 'value' of undefined
    at HexagonTool.draw (Hexagon.js:27)
    at draw (sketch.js:53)
    at e.d.redraw (p5.min.js:32)
    at e.<anonymous> (p5.min.js:31)

.value() 不能作为构造函数工作吗?我的代码是拆分的,因此所有构造函数都是分开的,它们链接到草图和 html 文件中,如果需要,我可以发布其他区域的更多代码以帮助弄清楚。代码如下:

function HexagonTool() {
  //set an icon and a name for the object
  this.icon = "assets/shapes.jpg";
  this.name = "shapes";

  var Hexagon;
  var HexagonSize;

  var HexagonSizeSlider;
  var nHexagonSlider;

  function preload() {
    Hexagon = loadImage('assets/Hexagon.png');
  }

  function setup() {
    HexagonSizeSlider = createSlider(5, 60, 20);
    HexagonSizeSlider.parent("#sizeOfHexagonControl");

    nHexagonSlider = createSlider(1, 25, 5);
    nHexagonSlider.parent("#numberOfHexagonsControl");
  }

  this.draw = function() {

    if (mouseIsPressed) {
      for (var i = 0; i < nHexagonSlider.value(); i++) {
        var HexagonSize = HexagonSizeSlider.value();
        var HexagonX = random((mouseX - HexagonSize / 2) - 25, (mouseX - HexagonSize / 2) + 25);
        var HexagonY = random((mouseY - HexagonSize / 2) - 25, (mouseY - HexagonSize / 2) + 25);
        image(Hexagon, HexagonX, HexagonY, HexagonSize,
          HexagonSize);
      }
    }
  }
}

标签: javascriptfunctionconstructorp5.js

解决方案


我正在看它,这是在尝试让它工作几个小时之后,我有两个预加载副本,并且删除上面代码中的设置解决了它


推荐阅读