我在Javascript中应该使用简单的additon时遇到问题。
看看这个firebug输出:
我正在制作的是画布中的2D平铺地图,并且对于地图中大于一个平铺大小的对象,它们的宽度和高度设置为负数,告诉我有多少平铺偏移x / y他们将使用相关数据到达磁贴。
这适用于所有情况,除非向数字添加零。这导致了奇怪的数字。
在上图中,有两个点击事件被触发,每个点击事件以“点击X x Y”开头,以“修改x / y到X Y”结束。正如你所看到的,点击一个带有-3的瓷砖作为Y偏移的工作正常,但点击一个0为Y偏移的瓷砖结果为247!我一直在一遍又一遍,没有得到更接近答案。所有数据似乎都很好,直到我尝试将0添加到变量y时。如果这不够奇怪,向x变量添加零可以正常工作!
这是输出调试消息并导致错误的代码片段。 x和y是函数调用的参数,cityMap是全局3D数组。
if (cityMap[x][y]['typeID']<0)
{
// get deffered tile pos
console.debug("Offset x = "+cityMap[x][y]['width']);
console.debug("Offset y = "+cityMap[x][y]['height']);
x += parseInt(cityMap[x][y]['width'], 10);
y += parseInt(cityMap[x][y]['height'], 10);
console.debug("modified x/y into x:"+x+" y:"+y);
}
我完全迷失在这里的想法。有谁知道还有什么我可以尝试阻止Javascript这样做?
答案 0 :(得分:0)
+1对于那些解决自己问题的开发人员!我得到了这个,但我读了你的评论,所以答案是你的,我不是把它写下来。