编辑:我只是想给一点背景知识。这是一个类似流氓的自上而下的地图,使用正方形网格" GridSq"作为精灵移动的背景,由用户通过鼠标,箭头键和WASD键输入控制。网格的每个方格都有自己的对象,如下所述。
我以一种非常受JAVA影响的风格编程处理,所以我认为这可能就是为什么脚本没有在带有Processing.js的浏览器中运行的原因。我在OSX 10.9上使用了最新的Chrome v 33.0.1750.152。我只是得到一个白色画布和以下错误。
未捕获的ReferenceError:未定义GridSq
未捕获的TypeError:无法读取属性' 0'为null
分别参考Processing:
... 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>
我在处理Processing.js时遇到的两个问题是A)将所有char类型更改为String类型,B)导入minim。我以为我解决了这两个问题。显然游戏正在处理中运行(导入微量后)。
我已经尝试将原始的微量导入留下并将其保留。 - import ddf.minim。*;
第一次调用GridSq构造函数时,我可以告诉它。我认为错误发生在这里:
new GridSq(&#34; T&#34;,false,-1,-1);正在打电话
// 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;
}
现在正在http://stephenatpurchase.com/现场直播。包含画布的div已加载,但style = display:none;所以你可以打开JavaScript控制台并立即看到错误。无需导航到它,无论如何它只是显示一个空白的画布。
我的处理代码中的其他地方可能会发生错误,但在此处发布错误太多了。感谢您提供的任何帮助。