Javascript Processing.js won';我跑不了。最小误差?

Javascript Processing.js won';我跑不了。最小误差?,javascript,html5-canvas,processing,processing.js,Javascript,Html5 Canvas,Processing,Processing.js,编辑:我只想介绍一下背景。这是一款类似流氓的自上而下地图游戏,使用方格“GridSq”作为精灵移动的背景,由用户通过鼠标、箭头键和WASD键输入控制。栅格的每个正方形都有自己的对象,如下所述 我以一种非常受JAVA影响的方式编程处理,所以我认为这可能就是脚本没有在带有Processing.js的浏览器中运行的原因。我在OSX 10.9上使用最新的Chrome v 33.0.1750.152。我只是得到了一张白色画布和以下错误 未捕获引用错误:未定义GridSq 未捕获的TypeError:无法读

编辑:我只想介绍一下背景。这是一款类似流氓的自上而下地图游戏,使用方格“GridSq”作为精灵移动的背景,由用户通过鼠标、箭头键和WASD键输入控制。栅格的每个正方形都有自己的对象,如下所述

我以一种非常受JAVA影响的方式编程处理,所以我认为这可能就是脚本没有在带有Processing.js的浏览器中运行的原因。我在OSX 10.9上使用最新的Chrome v 33.0.1750.152。我只是得到了一张白色画布和以下错误

未捕获引用错误:未定义GridSq

未捕获的TypeError:无法读取null的属性“0”

关于处理,分别是:

... g[i][j] = new GridSq(cTemp, false, -1, -1); ...

... if (!grid[i][j].shown) { } ...


// Declaration for 'grid' double array
GridSq[][] grid;
下面是GridSq类,错误表明该类未定义。但是,它是在其类中定义的,并且已包括在内

class GridSq {

  String type;
  boolean movable;
  int goblin;
  int chest;
  boolean shown;

  GridSq(String t, boolean m, int g, int c) {
    type = t;
    movable = m;
    goblin = g;
    chest = c;
    shown = false;
  }
}
在我的HTML中,我为声音导入Processing.js和minim.js

<script src="js/processing.js"></script>
<script src="js/minim.js"></script>

<article id="baliDiv" title="Bali Brawl">
  <canvas data-processing-sources="pde/BaliBrawl/BaliBrawl.pde"></canvas>
</article>
现在是现场直播。包含画布的div已加载,但style=display:none;因此,您可以打开JavaScript控制台,立即查看错误。不需要导航到它,它只是显示一个空白画布


在我的处理代码中,有一种可能是错误发生在其他地方,但是在这里发布太多了。感谢您提供的任何帮助。

您的页面仅加载BaliBrawl.pde,它不包含
GridSq
Mike的任何类定义-您完全正确。在常规处理中,只要类位于同一文件夹中,就可以自动访问它们。据我所知,在processing.js中,所有类都必须包含在主类中。完成此操作并调整“数据”文件名调用后,它完全可以正常工作。你的评论真的让我走上了正确的轨道,非常感谢。他们不必这么做。您可以使用
数据处理源=“BaliBrawl.pde GridSq.pde etc.pde”
指示多个加载,空格分隔。Processing.js随后将加载所有这些文件
// GridSq constructor from GridSq Class
// The errors I am receiving indicate that the first time this constructor is called
// is when I am getting an error
GridSq(String t, boolean m, int g, int c) {
    type = t;
    movable = m;
    goblin = g;
    chest = c;
    shown = false;
}